今天学习结构体。结构体是的C语言有能力描述复杂类型。
比如描述一个学生包含:名字+年龄+性别+学号。
C语言提供结构体Struct。
先跟着老师创建代码
//创建一个学生
struct stu
{
char name[20];
int age;
double score;
};
//创建一个书的类型
struct Book
{
char name[20];
float price;
char id[30];
};
int main()
{
struct stu s = { "张三",20,85.5 };//结构体的创建和初始化
printf("%s% d% lf\n", s.name, s.age, s.score);//结构体变量.成员变量
return 0;
}
打印结果如下
运用上一天的指针还可以得到另一种方法
int main()
{
struct stu s = { "张三",20,85.5 };//结构体的创建和初始化
printf("%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);
return 0;
}
这样也可以打印出来同样结果。对于我这种非底层软件工作者来说不需要使用,只是以后看到能懂即可。
int main()
{
struct stu s = { "张三",20,85.5 };//结构体的创建和初始化
printf("%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;
}
还有第三种方式,也可以打印出来,见下图