C语言中的typedef语句在数据结构线性表、栈、队列等的结构定义中经常出现,这里总结一下typedef语句的基本知识,以便可以更好理解数据结构中对于线性表等抽象数据类型的定义。
typedef语句在C语言中是关于类型定义的语句,但是该语句并不像int,float这样对数据类型进行重新定义,而是在原有的数据类型的基础上重新取一个名字,就类似于平常人与人之间起外号和小名。
typedef语句的一般形式为:
typedef 原数据类型 新的类型名
下面举几个例子。
例1 可以定义结构体类型
typedef struct list
{
int num;
float data;
struct list *next
}LIST;
在上面的程序中,我们用List替代了结构体struct list,此后就可以用LIST来定义结构体类型的变量,如
LIST *head,*p
则head和p就定义为结构体类型LIST的指针。
例2
typedef int Dtype;//Dtype=int
int main()
{
Dtype a;
a=65;
Dtype b;
b=66;
printf("%d %d",a,b);
return 0;
}
上面的程序中,将int类型起了别名Dtype,则此时Dtype类型的作用就相当于int,我们将变量a,b定义为Dtype类型并赋值则输出的结果分别为65和66。如果我们想将Dtype的类型修改为字符型,则只需在typedef语句进行修改,则此时a,b输出在屏幕上的结果就为其的ASCII码值。
typedef语句的好处是当我们定义的整形或者实型变量需要进行大量修改时,通过typedef语句对原有变量进行别名定义可以节省大量修改的时间。