结构体
为什么会出现结构体;
为了表示一些复杂的数据,而普通的基本类型变量无法满足要求。
什么叫结构体
结构体是用户根据实际西药自己定义的复合数据类型。(结构体是一种数据类型,不是变量)
如何使用结构体
两种方式:
1.struct Student st={1000,”zhangsan”,20};
st.xuehao;
2.struct Student * pst=&st;
pst->xuehao;
注意事项:
结构体变量不能加减乘除,但可以相互赋值
普通结构体变量和结构体指针变量作为函数传参的问题
例题演示:
例如定义一个 struct Student 类型的结构体,包含学号(id),姓名(name),年龄(age);
struct Student
{
int id;
char name[200];
int age;
};//分号一定不能省;
#include<stdio.h>
struct Student
{
int xuehao;
char name[200];
int age;//xuehao,name,age,为结构体成员变量;
};
int main()
{
struct Student st={1000,"zhangsan",20}; //st 为struct Student类型的变量;
/* 第一种方式: st.xuehao=88;*/
/*第二种方式:struct Student *pst;
pst =&st;
pst->xuehao=88;//pst->xuehao 等价于(*pst).xuehao 而(*pst).xuehao等价于st.xuehao;*/
printf("%d %s %d",st.xuehao,st.name,st.age);//通过 (结构体变量. ) 的方式使用结构体的成员变量;
return 0;
}