typedef为C语言的关键字,作用是为一种数据类型(这里仅讨论结构体数据类型)定义一个新名字。在编程中使用typedef目的一般有两个:给变量一个易记且意义明确的新名字;简化一些比较复杂的类型声明。
1、typedef的最简单使用
typedef int Data; //给已知数据类型int起个新名字---Data。
2、typedef 用法 & 结构体
typedef struct Node{
int info;
char flag;
} MyStruct;
这语句实际上完成两个操作:
1) 定义一个新的结构类型
struct 关键字和Node一起构成了这个结构类型,不论是否有typedef,这个结构都存在。
我们可以用struct Node node来定义变量node,但要注意,使用Node node来定义变量不对 的,因为struct 和Node合在一起才能表示一个结构类型。
2) typedef为这个新的结构起了一个名字,叫MyStruct。因此,MyStruct实际上相当于struct Node,我们可以使用MyStruct node来定义变量node。
3、typedef & 结构体指针类型用法
typedef struct Node {
char flag;
struct Node *Next;
} *link;
* * * ** * * * * * * * * * * * * * * * * *
typedef struct Node *link;
struct Node {
char flag;
link Next;
};
注意:在这个例子中,你用typedef给一个还未完全声明的类型起新名字。C语言编译器支持这种做法。