随笔分类 - C语言 / 结构体、共用体、枚举
摘要:枚举 将枚举变量要赋的值一一列举出来。例如 enum COLOR{RED, BLACK, GREEN, BLUE, YELLOW}; 修改枚举值
阅读全文
摘要:共用体 所有成员共享同一块空间。例如: 成员a、b、c共享同一块空间,空间大小由最大的成员空间决定 成员a、b、c共享同一块空间,但是每个成员能操作的空间范围是由成员自身类型长度决定
阅读全文
摘要:结构体的位域 在结构体中,以位为单位的成员,称为位域 上图中,a的类型是 unsigned int,a的大小只占2位二进制位 没有被 非位域 隔开的位域,叫相邻位域 相邻位域可以压缩,但是压缩的位数不能超过自身类型的大小 不要对位域取地址 对位域赋值不要超过位域本身位的宽度 另起一个存储单元 无意义
阅读全文
摘要:结构体的对齐规则 自动对齐规则 1、确定分配单位(一行分配多少个字节) 结构体中最大的基本类型长度决定 2、确定成员的偏移量 成员的偏移量 = 成员自身类型的整数倍 3、收尾 结构体的总大小 = 分配单位的整数倍 结构体嵌套结构体自动对齐规则 1、确定确定分配单位(一行分配多少个字节) 所有结构体中
阅读全文
摘要:结构体在堆区,结构体的指针成员指向堆区 结构体指针数组在堆区,结构体在堆区,结构体指针成员在堆区
阅读全文
摘要:结构体数组 本质是数组,每个元素是结构体 结构体指针变量 本质是指针变量,保存的是结构体变量的地址 结构体的指针成员 指针变量作为结构体中的成员 结构体的指针成员指向堆区 相同类型的结构体变量可以整体赋值 如果结构体中没有指针成员,赋值不会出现浅拷贝 如果结构体中有指针成员,赋值容易造成浅拷贝(尽量
阅读全文
摘要:结构体的定义 将多种数据结构封装在一起,形成新的结构叫结构体 结构体特点:每种数据结构都有自己的独立空间 结构体关键字:struct 结构体类型的定义方式 键盘给结构体变量中成员赋值 单独操作结构体中的成员 相同类型结构体变量之间赋值 结构体嵌套结构体
阅读全文