typedef 的作用是给数据类型起一个新的名字。
例如:
typedef unsigned long long int ull_int;
/*以后需要声明 unsigned long long int 时,
可以直接用 ull_int 声明*/
例一:
struct{
char a;
int b;
} x;
创建一个机构体变量,里面有一个 char 和 int 变量两个成员。
例二:
struct STUDENT{
char name;
int age;
};
这里,创建了一个标签 tag(STUDENT),为成员列表提供了一个STUDENT的名字。
以后就可以通过 struct STUDENT x; 来声明变量
接下来是 typedef 与 struct 的结合使用
例三:
typedef struct{
char name;
int age;
}STUDENT;
这里的作用和例二一致,
STUDENT现在是一个数据类型的名字。
以后声明可以直接写为 STUDENT x;
例四:
typedef struct NODE{
int data;
struct NODE* next;
}node;
这是创建链表节点的一种常见写法,可以分为两步:
第一步
struct NODE{
int data;
struct NODE* next;
};
创建了一个叫NODE的结构类型,第二步 typedef NODE node; 把 NODE 这种数据类型命名为 node,值得注意的是在创建链表时,
typedef struct NODE{
int data;
struct NODE* next;
}node;
创建指针使用的是 struct NODE* next; 在之后的创建、插入、删除、查找函数,以及主函数中,声明指针统一用的是 node* pointer;