openharmony第二次笔记

wx64e0d2cf06a80
发布于 2023-8-21 21:53
浏览
0收藏
  1. 数据类型:

    • int:表示整数类型,通常为16位或32位。
    • char:表示字符类型,占用1个字节。
    • float:表示单精度浮点数,通常为32位。
    • double:表示双精度浮点数,通常为64位。
  2. 变量和常量:

    • 变量用于存储和操作数据,需要先声明后使用。
    • 常量是固定的值,可以直接使用或通过#define指令定义。
  3. 运算符:

    • 算术运算符:+-*/%
    • 关系运算符:==!=><>=<=
    • 逻辑运算符:&&||!
    • 位运算符:&|^~<<>>
  4. 控制结构:

    • if语句:根据条件执行不同的代码块。
    • for循环:按照指定条件重复执行代码块。
    • while循环:在给定条件为真时重复执行代码块。
    • do-while循环:先执行代码块,然后再检查条件。
  5. 数组:

    • 数组是一组相同类型的元素的集合。
    • 数组使用索引访问元素,索引从0开始。
    • 声明数组时需要指定元素类型和大小。
  6. 函数:

    • 函数是一段可重用的代码,用于执行特定任务。
    • 函数由函数头和函数体组成。
    • 函数可以接受参数和返回值。
  7. 指针:

    • 指针是存储变量内存地址的变量。
    • 通过指针可以直接访问内存中的数据。
    • 使用指针可以实现高效的内存操作和传递参数。
  8. 结构体:

    • 结构体是一种自定义的数据类型,可以包含多个不同类型的成员。
    • 结构体成员可以通过.操作符访问。
  9. 文件操作:

    • 使用fopen()函数打开文件。
    • 使用fprintf()函数将数据写入文件。
    • 使用fscanf()函数从文件中读取数据。
    • 使用fclose()函数关闭文件。
  10. 栈(Stack):

    • 栈是一种后进先出(LIFO)的数据结构,用于管理函数调用和局部变量。
    • 函数调用时,函数的参数、返回地址和局部变量被压入栈中。
    • 栈的大小是有限的,通常在编译时确定。
    • 需要注意避免栈溢出,即向栈中压入过多的数据导致栈的大小超过了限制。
  11. 堆(Heap):

    • 堆是一块动态分配的内存区域,用于存储动态分配的变量和数据结构。
    • 堆的大小通常比栈大得多,但是分配和释放堆内存需要手动控制。
    • 使用动态内存分配函数(如malloc()free())来分配和释放堆内存。
    • 需要注意避免堆内存泄漏和野指针的问题,确保及时释放不再使用的堆内存。
  12. 全局变量和静态变量:

    • 全局变量和静态变量存储在静态存储区,其生命周期与程序运行周期相同。
    • 全局变量在所有函数中可见,静态变量在定义它的函数中可见。
    • 静态变量默认为0,全局变量默认为NULL。
    • 静态变量和全局变量的大小在编译时确定,需要注意内存占用。
  13. 常量区(Constant Area):

    • 常量区存储常量字符串和其他只读数据。
    • 常量区的数据在程序运行期间保持不变。
    • 常量区通常位于代码区,是只读的,不能被修改。
  14. 代码区(Code Area):

    • 代码区存储程序的指令和函数体。
    • 代码区是只读的,存储可执行的机器指令。
    • 代码区的大小由程序的逻辑结构和代码量决定。
  15. 外部存储器(External Memory):

    • 外部存储器(如闪存、SD卡)用于存储大容量的数据、程序和文件。
    • 外部存储器的访问速度较慢,需要注意数据读写的效率和延迟。

指针(Pointers):

  • 指针是存储内存地址的变量,用于直接访问内存中的数据。
  • 声明指针时需要指定指针变量的类型,例如int*表示指向整数的指针。
  • 使用取地址操作符&获取变量的地址,例如&x表示变量x的地址。
  • 使用解引用操作符*访问指针指向的值,例如*ptr表示指针ptr指向的值。
  • 指针可以用于动态分配内存、传递参数、遍历数组等。

函数(Functions):

  • 函数是一段可重用的代码,用于执行特定的任务。
  • 函数由函数头和函数体组成。
  • 函数头包括函数的返回类型、函数名和参数列表。
  • 函数体包含了函数的实际代码。
  • 函数可以有参数和返回值,通过参数可以向函数传递数据,通过返回值可以获取函数的执行结果。
  • 函数可以被多次调用,提高了代码的可维护性和重用性。

数组(Arrays):

  • 数组是一组相同类型的元素的集合。
  • 数组的元素在内存中是连续存储的。
  • 声明数组时需要指定元素类型和大小,例如int arr[5]表示包含5个整数的数组。
  • 数组的索引从0开始,可以使用索引访问和修改数组的元素,例如arr[0]表示数组的第一个元素。
  • 数组的大小在编译时是固定的,无法改变。

linux:

  1. Linux 文件系统:

    • Linux使用树状的文件系统结构,根目录为/,所有文件和目录都从根目录开始。
    • 常见的目录包括/bin(可执行文件)、/etc(配置文件)、/home(用户主目录)和/var(变量数据)等。
  2. 命令行界面(CLI):

    • Linux使用命令行界面(CLI)进行操作和管理。
    • 命令行界面提供了强大的工具和灵活性,可通过输入命令来执行各种任务。
  3. 常用命令:

    • ls:列出目录内容。
    • cd:切换目录。
    • pwd:显示当前工作目录。
    • mkdir:创建新目录。
    • rm:删除文件或目录。
    • cp:复制文件或目录。
    • mv:移动或重命名文件或目录。
    • cat:显示文件内容。
    • grep:在文件中查找指定的模式。
    • chmod:修改文件或目录的权限。
    • chown:修改文件或目录的所有者。
    • ps:显示当前运行的进程。
    • top:实时显示系统资源使用情况。
    • ssh:通过安全的方式远程登录到其他主机。
  4. 文件权限:

    • Linux中的文件和目录具有权限属性,分为所有者、群组和其他用户的权限。
    • 权限包括读(r)、写(w)和执行(x)权限。
    • 使用chmod命令可以修改文件和目录的权限。
  5. 软件包管理:

    • Linux提供了软件包管理工具,用于安装、更新和卸载软件包。
    • 常见的软件包管理工具包括apt-get(Debian/Ubuntu)、yum(Red Hat/CentOS)和dnf(Fedora)等。
  6. 用户和权限管理:

    • Linux支持多用户环境,每个用户有自己的用户名和密码。
    • 使用useradd命令创建新用户,使用passwd命令设置密码。
    • 系统管理员可以使用sudo命令提升权限执行特权操作。

标签
收藏
回复
举报
回复
    相关推荐