c语言的声明类型typedef—用来为复杂的声明定义简单的别名。
用法总结:
(1)使用typedef为现有类型创建别名,定义易于记忆的类型名。
eg: typedef int size;
void measure (size *p);
size array[4]; ——>相当于int array[4];
size len=file.getlength();
(2)掩饰复合函数,如指针和数组。
eg: typedef char Line[40];
Line text,line; ——>相当于 char text[40], char Line[40];
getline(text);
使用目的:
(1)给变量一个易记且意义明确的新名字。
(2)简化一些比较复杂的类型声明。
举两个例子:
eg1:typedef与结构结合使用
typedef Struct tagStruct{
int Num;
long Length;
}Mystruct; ——>注意后面的分号不能省略。
分析:这条语句实际完成了两个操作,首先定义一个结构体,tagStruct即为一个标签(临时的一个名字),Struct关键字和tagStruct一起构成了这个结构类型,与 typedef无关。 而typedef的作用这个时候就出来了,它为这个结构起了一个别名-Mystruct
注意:typedef Struct tagStruct Mystruct; //划线部分在定义变量时要一起使用,否则就不是一个结构类型。而Mystruct实际上就相当于struct tagStruct,因此可以用Mystruct varName来定义变量。