结构体
结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。
例如描述学生,学生包含:名字+年龄+性别+学号这几项信息。
这里只能使用结构体来描述了。
结构体的创建
//创建一个学生的类型
struct Stu
{
char name[20];//姓名
int age;//年龄
double score;//分数
};
//创建一个书的类型
struct Book
{
char name;//书名
float price;//价格
char id[30];//编号
};
结构体的初始化 变量设置 打印
int main()
{
struct Stu s = { "张三",20,80.5 };//结构体的初始化
printf("%s %d %lf\n", s.name, s.age, s.score);//结构体变量。成员变量。
return 0;
}
三种不同打印方法
struct Stu
{
char name[20];//成员变量
int age;
double score;
};
int main()
{
struct Stu s = { "张三",20,80.5 };//结构体的初始化
printf("1:%s %d %lf\n", s.name, s.age, s.score);//结构体变量。成员变量。
struct Stu * ps = &s;
printf("2:%s %d %lf\n", (*ps).name, (*ps).age, (*ps).score);
printf("3;%s %d %lf\n", ps->name, ps->age, ps->score);
return 0;
}
1.s表示一个学生,s.找到它的成员并打印
2.取地址s(&s),取出s的地址,*ps创建一个指针变量,并给出它的类型(struct Stu)
*ps解引用,并括住.找到它的成员并打印
3.ps箭头成员,并打印
使用->操作符时,必须遵循
结构体指针->成员变量名