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 函数所分配的区域。

posted @ 2024-03-06 14:20  码上领航者  阅读(255)  评论(0)    收藏  举报