一个结构体 struct student_type student1,student2;前面的struct student_type是结构体类型名,也就是如果定义结构体变量student1,就需要写完整的struct student_type?我只写了student_type 却也能定义一个结构体变量是怎么回事?
C++允许用户根据需要自己声明一些类型,用户可以自己声明的类型还有结构体类型(structure)、共用体类型(union)、枚举类型(enumeration)、类类型(class )等,这些统称为用户自定义类型(user-defined type,UDT)。struct student_type,你已经使用结构体类型已经定义了student_type这样一个自定义类型,在下面代码中就可以直接单独使用student_type来定义结构体变量。在c++里很简单,直接struct Student{int a;}; 于是就定义了结构体类型Student,声明变量时直接Student stu2;C语言中使用:typedef struct Student{int a;} 在声明变量的时候:可以直接Student stu1;(但是没有typedef就必须用struct Student stu1;来声明)满意请采纳,不懂请追问。