1、typedef声明,简称typedef,为现有类型创建一个新的名字,或称为类型别名。typedef使用最多的地方是创建易于记忆的类型名,用它来归档程序员的意图。简单的说就是用来替代,可以用来代替其他的数据类型。如typedef int num;此声明定义了一个int的同义字,名字为num。注意typedef并不创建新的类型。它仅仅为现有类型添加一个同义字。你可以在任何需要int的上下文中使用num。
2、typedef 还可以掩饰复合类型,如指针和数组。例如要用到两个相同大小的数组,就可以这样这样定义:
例如,你不用像下面这样重复定义有 81 个字符元素的
数组:
1
2
3
|
char
line[81];
char
text[81];
|
定义一个 typedef,每当要用到相同类型和大小的
数组时,可以这样:
1
|
typedef
char
Line[81];
|
1
2
3
4
|
Line text,line;
//
getline(text);
|
通常讲,typedef要比#define要好,特别是在有
指针的场合。请看例子:
1
2
3
4
5
6
7
|
typedef
char
* pStr1;
#define pStr2 char*
pStr1 s1,s2;
pStr2 s3,s4;
|