结构体初阶
- 结构体类型的声明
- 结构体初始化
- 结构体成员元访问
- 结构体传参
结构体
- 结构体传参的时候,参数是需要压栈的。如果传递一个结构体对象的时候,结构体过大,参数压栈的系统开销比较大,所以会导致性能的下降。
- 结构体传参的时候,要传结构体的地址。
#include <stdio.h>
struct Student {
char name[20];
int age;
char id[20];
}s1,s2;
void print1(struct Student s) {
printf("print1: %s %d\n", s.name, s.age);
}
void print2(struct Student* s) {
printf("print2: %s %d\n", s->name, s->age);
}
int main() {
struct Student student = {"张三", 30, "183105042"};
print1(student);
print2(&student);
printf("1: %s %d\n", student.name,student.age);
struct Student* p = &student;
printf("2: %s %d\n", (*p).name, (*p).age);
printf("3: %s %d\n", p->name, p->age);
return 0;
}