c语言结构体问题,

一个结构体 struct student_type student1,student2;前面的struct student_type是结构体类型名,也就是如果定义结构体变量student1,就需要写完整的struct student_type?我只写了student_type 却也能定义一个结构体变量是怎么回事?
最新回答
季沫怡

2024-11-05 01:26:41

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;来声明)
满意请采纳,不懂请追问。
旧人旧城旧余温—

2024-11-05 05:31:51

struct student_type student1,这个是c语言的写法;
student_type student1,这是c++的写法。