结构体与联合体
结构体类型及结构体变量
结构体中的数据项称为成员。
结构体类型的定义
一般形式:
struct 结构体类型名
{
类型说明符 成员名1;
类型说明符 成员名2;
···
类型说明符 成员名n;
};
结构体变量
结构体变量的定义
- 先定义结构体类型,再定义结构体类型变量。
struct 结构体类型名 结构体变量名表列;
- 在定义结构体类型的同时定义结构体变量。
struct 结构体类型名
{
类型说明符 成员名1;
类型说明符 成员名2;
···
类型说明符 成员名n;
} 结构体变量名表列;
- 直接定义结构体类型的变量。
struct
{
类型说明符 成员名1;
类型说明符 成员名2;
···
类型说明符 成员名n;
} 结构体变量名表列;
结构体变量的引用
一般形式:
结构体变量名.成员名
结构体变量的初始化
将各个成员的初值用一对花括号{}括起来,括弧内各初值的数据类型、顺序要和结构体类型中的成员一致,数据项间用逗号分隔。
结构体嵌套
结构体变量做函数形参
结构体数组
定义、引用与初始化
联合体
联合体变量所占内存字节数是占字节数最多的成员所占的字节数。
联合体类型的定义
一般形式:
union 联合体类型名
{
类型说明符 成员名1;
类型说明符 成员名2;
···
类型说明符 成员名n;
};
联合体变量的定义
- 先定义联合体类型,再定义联合体变量
- 定义联合体类型的同时定义联合体变量
- 直接定义联合体变量
联合体变量的引用
使用成员运算符“.”引用联合体的成员
一般格式:
联合体变量.成员名
联合体变量与结构体变量的最大区别在于结构体变量的成员是异址的,而联合体变量的成员是同址的。
使用指向运算符“->”引用联合体的成员
格式:
联合体指针->成员名
联合体变量成员的引用有4种方式:
联合体变量.成员名
(*联合体指针).成员名
联合体指针->成员名
(&联合体变量)->成员名