一.结构体的声明
1.1结构体的基础知识
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以不是不同类型的变量。
1.2结构的声明
“tag”是结构体的标签,“member-list”是结构体成员,“variable-list”是变量列表。
struct Stu
{
char name[20];
int age;
char sex[8];
float score;
}s1,s2,s3;
例如代码块中的s1,s2,s3,变量列表中可以有多个变量。s1,s2,s3是通过struct Stu类型创建的变量。其次s1,s2,s3是全局变量 。
int main()
{
//s4,s5是局部变量
struct Stu s4;
struct Stu s5;
return 0;
}
s4,s5是局部变量。struct Stu才是结构体类型,不能随便省略struct 。但是也可以使用typedef来代替struct Stu为另外的字符,
1.3结构成员的类型
结构的成员可以是标量,数组,指针,甚至是其他结构体。
1.4结构体成员的访问
结构成员访问操作符:‘.‘,’->'。
‘.'的使用:结构体变量.结构体成员
'->'的使用:
strcpy-字符串拷贝
在想要改变arr数组中的内容时,使用strcpy(但是要调用string.h头文件),如上,打印出的结果中将hello变为了world。
二.结构体传参
函数传参数的时候,参数是需要压栈的。如果传递一个结构体对象的时候,结构体过大,参数压栈的系统开销就比较大,所以会导致性能的下降。