1、typedef为C语言的关键字
作用:为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
2、在编程中使用typedef目的一般有两个:
1) 给变量一个易记且意义明确的新名字
2) 简化一些比较复杂的类型声明
3、应用
1) typedef的最简单使用
例如: typedef long byte_4 ;
上述代码实现的是:给已知的数据类型long起个新名字,叫byte_4。
2) typedef与结构结合使用
typedef struct Node { int num; struct Node *next; } LinkList ;
上述代码实现的是:(1) 定义一个新的结构类型
typedef struct Node { int num; struct Node *next; };
(2) typedef为这个新的结构起了一个名字,叫 LinkList
于是在声明变量的时候就可表示为:
如果没有typedef就必须表示为:<span style="color:#000000"> LinkList 变量名;</span>
struct Node 变量名;
总结:这里的 LinkList 实际上就等价与 struct Node。
4、 应用
1) 链表的数据结构
typedef struct Node { int num; struct Node *next; } LinkList;
2) 创建链表LinkList *creat(int n)
LinkList *creat(int n) { LinkList *p,*q,*head; int i = 1; p = (LinkList *)malloc(sizeof(LinkList)); //动态内存分配 p -> num = i; head = p; for(i = 2; i <= n; i++) { q = (LinkList *)malloc(sizeof(LinkList)); q -> num = i; // ——>表示指向结构体成员 优先级最高 p -> next = q; p = q; } p -> next = head; /*使链表尾指向链表头,形成循环链表*/ return head; }