struct Student是结构体类型名,Student是结构体名,为什么还要另外说结构体名?只说类型名不就行了吗?比如struct Student student1;
没有结构体名的又是怎么回事,struct{}student1?结构体和结构体类型有什么区别?
结构体类型是指定义的一种数据类型,它由一组具有相同特性的数据元素组成,比如struct Student,它由学号、姓名、性别等数据元素组成。而结构体名则是指定义的结构体类型的一个实例,比如Student student1,它是struct Student类型的一个实例,它的学号、姓名、性别等数据元素的值可以不同。struct{}student1是错误的写法,应该写成struct Student student1。结构体类型和结构体名的区别是,结构体类型是一种数据类型,而结构体名是一个实例,它的值可以不同。
c语言就是这么规定的,没有为什么
class为什么就不用在前面写上class,而直接省略了呢
当初就这么设计的,这就是语法
c语言允许你使用typedef给struct Student取个别名,设计c语言的人觉得这样就挺好
一个student变量代表一组学生信息
typedef struct {
char name[NAME_LEN + 1];//姓名
int number; //学号
int chinese; //语文
int math; //数学
int english; //英语
int average; //平均分
int sum; //总分
} student; //用于存储单个学生的信息