typedef struct student与typedef struct区别
时间: 2023-08-13 19:54:35 浏览: 92
`typedef struct student` 是定义了一个新的类型名称 `student`,这个类型是一个结构体。通过这种方式,我们可以用 `student` 来代替 `struct student` 来声明变量。
而 `typedef struct` 是定义一个匿名结构体,并且给这个结构体起了一个新的类型名称。这个新的类型名称可以直接用来声明变量,而不需要再加上 `struct` 关键字。
总的来说,`typedef struct student` 是定义了一个新的类型名称,而 `typedef struct` 定义了一个匿名结构体并为其起了一个新的类型名称。
相关问题
typedef struct student{}student与typedef struct{}student区别
student与typedef struct {} student的区别是:
- student是结构体的标签或标识符,用于定义结构体的变量。
- typedef struct {} student是使用typedef关键字对结构体进行重命名,使得我们可以直接使用student作为类型名称来定义变量,而不需要再使用struct关键字。
举个例子来说,如果我们有一个结构体定义如下:
```
struct student {
int id;
char name[20];
};
```
使用student作为结构体变量的标签定义变量,可以这样写:
```
struct student s1;
```
而如果使用typedef重命名结构体类型为student,可以这样写:
```
typedef struct {
int id;
char name[20];
} student;
student s1;
```
在第二种方式中,我们直接使用student来定义变量s1,而不需要再使用struct关键字。
typedef struct student STUDENT;
在C语言中,我们可以使用结构体来定义一种新的数据类型。但是,如果我们不使用typedef关键字,那么我们在定义变量时就必须使用struct关键字来指明这是一个结构体类型。而使用typedef关键字可以将结构体类型定义为一个新的类型名,这样我们在定义变量时就可以直接使用这个新的类型名,而不必再使用struct关键字。因此,typedef struct student STUDENT; 的作用就是将结构体 student 定义为一个新的类型名 STUDENT,方便我们在定义变量时使用。
阅读全文