C 语言(7)
7.结构体(struct)、共用体(union)、枚举类型(enum)
7.1 结构体
定义一个结构的一般形式为:
struct 结构名
{成员表列}
结构体所占内存长度是个成员占的长度之和。
7.2 共用体
几个不同的变量共占一段内存的结构,称为共用体(union)。
定义一个公用体的一般形式为:
union 共用体类型名
{成员表列}
共用体所占内存长度等于最长的成员的长度。
共用体数据类型的特点:
1) 共用体的目的是用同一段内存存放几种不同类型的数据,不能同时存几种。
2) 能够访问的是共用体变量中最后被赋值的成员。
3) 共用体和它的个成员都是同一个地址。
4) 不能对共用体变量名赋值;不能企图引用变量名来得到一个值;不能在在定义共用体时对它初始化;不能用共用体变量名作为函数参数。
7.3 枚举类型
枚举的定义枚举类型定义的一般形式为:enum 枚举名{ 枚举值表 };
注意:枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。
7.4 类型定义符 typedef
类型定义符 typedef 允许由用户为数据类型取“别名”。
Typedef 定义的一般形式为:typedef 原类型名 新类型名
7.5 动态内存分配
7.5.1 内存分配函数
1) malloc
调用形式:(类型说明符*)malloc(size)
2) calloc
调用形式:(类型说明符*)calloc(n,size)
3) calloc函数与malloc 函数的区别仅在于一次可以分配n块区域。
7.5.2 内存释放函数
调用形式: free(void*ptr);
功能:释放 ptr 所指向的一块内存空间,ptr 是一个任意类型的指针变量,它指向被释放区域的首地址。被释放区应是由 malloc 或 calloc 函数所分配的区域。
-------------------------------------------------------------------------
专注于软件技术和团队管理,致力于为程序员、技术领导者以及对软件开发感兴趣的朋友提供深度的行业见解、实用的管理策略和职业发展的最佳实践。关注个人微信公众号《码上领航者》获取更多深度洞察。