# include <stdio.h>
/*
为什么需要结构体,因为基本类型无法表示一个复杂的数据类型
基本类型只能表示单一类型如int float double等,无法表示一个
学生的信息集合类型,而结构体就若干个基本类型集中起来打包成一个复杂的
数据类型。这种复杂的变量类型就是结构体类型
结构体是将不同类型的数据按照一定的功能需求进行整体封装,
封装的数据类型与大小均可以由用户指定
定义格式:(可以没有结构体名)
struct 结构体名
{
成员列表
};//这也是一个变量需要分号结束标志
struct 结构体名 stu1,stu2;//定义结构体变量stu1和stu2
上述是先声明结构体类型,在定义结构体变量,但是也可以
声明的时候直接定义如
struct 结构体名
{
成员列表
}stu1,stu2;//这也是一个变量需要分号结束标志
*/
//声明
struct Student
{
int age;
float score;
char sex;
};
int main()
{
struct Student st = {80,66.6,'w'}; //定义变量
struct Student* p;
p = &st;
//输出方式
printf("%d,%3.1f,%c\n",(*p).age, (*p).score, (*p).sex);
printf("%d,%3.1f,%c\n",st.age, st.score, st.sex);
printf("%d,%3.1f,%c\n",p->age, p->score, p->sex);
/*
int age;
float score;
char name[100];
int age2;
float score;
char name2[100];
*/
return 0;
}