第七章 结构体

结构体的声明

结构的基础知识:结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量

struct tag {
	member-list;
}variable-list;

【例】描述一个学生

//struct 结构体关键字
//Stu 结构体标签
//struct Stu 结构体类型
struct Stu {
	char name[20];
	short age;
	char gender[5];
}s1, s2, s3; //s1, s2, s3是三个全局的结构体变量

int main() {
	struct Stu s; //局部变量
	return 0;
}
typedef struct Stu {
	char name[20];
	short age;
	char gender[5];
}Student; //重新命名struct Stu为Student

int main() {
	Student s;
}

结构成员的类型

结构的成员可以是标量、数组、指针、甚至是其他结构体

结构体成员变量的访问

函数传参的时候,参数需要压栈。如果传递一个结构体对象的时候,结构体过大,参数压栈的系统开销较大,所以会导致性能的下降

结论:结构体传参的时候,要传结构体的地址