一概述:
一个知识很难一次性消化完,有些知识,我会分开几篇来总结。
二.结构体数组:
前面我们已经复习过结构体类型,结构体变量。现在来复习结构体数组.
2.1定义:
方式1:(喜好这种)
struct Student{
char *name;
int age;
};
struct Student stu[2];
方式2:
struct Student{
char *name;
int age;
}stu[2];
方式3:
struct{
char *name;
int age;
}stu[2];
定义类型,跟之前的差不多;
定义来一个变量名为stu的结构体数组,数组元数个数是2;
2.2初始化:
struct Student{
char *name;
int age;
};
int main(){
struct Student stu[2] ={{"xb",18},{"xb",18}};
return 0;
}
使用事例:
三.结构体作为函数参数.
注意:将结构体变量作为函数参数进行传递时,其实传递的是全部成员的值,也就是将实参中成员的值一一赋值给对应的形参成员。
两者是独立的,修改其中一个,不会影响到另一个。(再次强调)
四.指向结构体的指针
1.每个结构体变量都有自己的存储空间和地址,所以指针也可以指向存储结构体变量的地址.
2.结构体指针变量的定义形式:struct 结构体名称 *指针变量.
所有就有3中访问结构体成员的方式:
1.结构体变量名 . 成员名
2.(*指针变量名). 成员名.
3.指针变量名 -> 成员名
前面说了,如果把stu值给stu2,并且修改了stu2的成员,是不影响到stu的,不过用上指向结构体的指针,就会影响到了,因为指针结构体指向stu地址.