typedef struct 和struct区别
时间: 2024-11-05 12:10:50 浏览: 5
struct和typedef struct区别
`typedef struct` 和 `struct` 都是用来创建自定义数据类型的关键词,在 C 语言中它们有相似的目的,但使用场景和作用有所不同。
`struct` 关键字用于定义结构体,它是一个用户自定义的数据类型,可以包含零个或多个成员变量,这些成员可能是基本数据类型、指针或其他结构体。例如:
```c
struct Student {
char name[20];
int age;
float score;
};
```
这是一个名为 `Student` 的结构体,包含了名字、年龄和分数三个成员。
而 `typedef struct` 允许给一个已经存在的结构体类型起一个新的名字,使得在后续的代码中可以更方便地使用这个新名。例如:
```c
typedef struct Student {
char name[20];
int age;
float score;
} StudentType; // 定义了新的类型名 "StudentType"
// 使用新定义的类型名
StudentType stu1;
```
总结一下:
- `struct` 直接定义结构体;
- `typedef struct` 先定义再命名结构体类型。
阅读全文