/*
结构体:一些值的集合,这些值称为成员变量。
结构的成员可以是不同类型的变量(或者是结构体类型的变量)
*/
#include <stdio.h>
//结构体类型的声明
struct Stu {
char name[10];//姓名
char sex[4];//性别
int age;//年龄
char tele[20];//电话
};
void showInfo(struct Stu s) {
printf("%s %s %d %s\n", s.name, s.sex, s.age, s.tele); //通过结构体变量访问成员变量
}
void showInfo2(struct Stu* p) {
printf("%s %s %d %s\n", p->name, p->sex, p->age, p->tele);//通过结构体的指针访问成员变量
}
int main() {
struct Stu s = { "Lili","女",18,"12345678" };//结构体初始化,创建结构体变量
showInfo(s);
showInfo2(&s);
return 0;
}
上面选哪种方式访问成员变量更好呢?
答案:通过结构体指针访问成员变量更好!
原因:如下,函数形参是实参的一份拷贝,这需要额外占用内存,会有空间开销,另外拷贝的数据比较大时,过程也会有时间开销。