目录
📍1.结构体的声明
1.1结构体的声明
结构是一些值的集合,这些值统称为成员变量,结构的每个成员可以是不同类型的变量。
结构的成员可以是标量,数组,指针,甚至是其他结构体 。
格式为:
1.2 结构体变量的定义和初始化
//声明结构体
struct Stu
{
char name[20];
int age;
char sex[5];
}s1; //s1表示声明结构体的同时定义一个结构体变量
//定义结构体变量
struct Stu s2; //定义一个结构体变量s,不初始化。
struct Stu s3 = { "zhangsan", 18, "男" }; //定义一个结构体变量s3,并且初始化
//声明一个结构体,结构体的成员的类型是另一个结构体类型
struct Person
{
int num;
struct Stu s;
}p1 = { 15,{"zhangsan" ,25, "男"}}; //声明结构体的同时定义一个结构体变量p1并且初始化
//定义结构体变量,结构体嵌套初始化
struct Person p2 = { 100,"lisi",18,"女" }; //这里的struct Stu s成员初始化时可以加{},也可以不用加
📍2.结构体成员访问
📍3.结构体传参
🐱Print2好的原因:
- 函数传参时,参数是需要压栈的
- 如果传递一个结构体对象时,结构体过大,参数压栈的系统开销比较大,所以会导致性能的下降
结论:
结构体传参时,要传结构体的地址