结构体
(1)为什么出现结构体
为了表达一些复杂的数据,而普通的基本数据类型变量无法表示
(2)什么是结构体
结构体是用户根据自己的需求定义的一种新的数据类型
(3)如何使用结构体
两种方式
struct Student
{
int number;
char name[200];
int age;
};
int main(void)
{
struct Student st = {20,"xu",24};
printf("%d %s %d\n",st.number,st.name,st.age);
struct Student *p;
p = &st;
p->number = 21;//p->number等价于 (*p).number,表示p指向st结构体中number变量
strcpy(p->name,"yang");
p->age = 25;
printf("%d %s %d\n",p->number,p->name,p->age);
return 0;
}
注意事项
结构体变量不能加减乘除,但是可以相互赋值
被调函数修改主调函数中普通结构体变量的值(跟普通变量,一维数组一样的方式),如果被调函数只是借用主动函数中普通结构体变量的值,可以相互赋值,但是比较耗内存,不推荐使用。