结构体数组
每个数组元素都是一个结构体类型的数据就是结构体数组
定义结构体数组一般形式:
-
struct 结构体名{成员表列}数组名[数组长度];
-
先声明一个结构体,再用其类型定义结构体数组
struct 结构体名 数组名[数组长度];
初始化一般就是通过在定义的数组后用{}给各元素依次赋值。
结构体指针
结构体变量的指针就是该结构体变量的起始地址。
- 结构体变量指针既可以指向结构体变量,结构体数组的元素
- 结构体变量指针的基类型必须与指向的结构体变量类型相同
struct A{
int a;
char b;
} cba,*p;
对于结构体指针,其引用结构体成员有以下方法
- 利用指针 (*p).b 直接引用成员(不能忽略(),因为.运算级更高)
- p->b 箭头为指向运算符
如果用结构体指针指向结构体数组,不应该指向具体成员而应该指向对象
,即使指针指向的是对象的第一个成员的首地址
如果想将结构体变量的值传递给另一个函数,可以
- 用结构体变量的成员做参数
- 用结构体变量做实参
- 用指向结构体变量的指针做实参