typedef struct
时间: 2023-07-18 10:40:30 浏览: 38
在C语言中,可以使用typedef关键字来给某个数据类型定义一个新的名称,这样可以方便地使用这个新的名称来声明变量,避免重复书写类型名的麻烦。同时,typedef还可以与struct结构体一起使用,定义一个具名的结构体类型。
typedef的基本语法格式为:
```
typedef 原类型 新类型;
```
其中,原类型可以是任何已有的数据类型,包括基本数据类型(如int、char等)、指针类型、数组类型等,新类型是用户定义的一个新的数据类型名称。
结合struct结构体使用时,typedef的语法格式为:
```
typedef struct 结构体名 {
数据类型 成员变量1;
数据类型 成员变量2;
数据类型 成员变量3;
...
} 新类型名;
```
其中,结构体名和成员变量与普通的结构体定义一样,新类型名是用户定义的一个新的数据类型名称。
这样,我们就可以使用新类型名来定义结构体变量了,例如:
```
typedef struct Person {
char name[20];
int age;
} Person;
int main() {
Person p;
strcpy(p.name, "Tom");
p.age = 20;
printf("Name: %s\n", p.name);
printf("Age: %d\n", p.age);
return 0;
}
```
在上面的例子中,使用typedef关键字将结构体Person定义为了一个新类型Person,然后直接使用Person来声明了一个Person类型的变量p。这样可以方便地定义结构体变量,提高程序可读性。