typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。
使用typedef为现有类型创建别名,定义易于记忆的类型名
1 | typedef int size; |
1 2 3 4 5 6 7 | void measure(size*psz); size array[4]; size len=file.getlength(); |
typedef 还可以掩饰复合类型,如指针和数组。
例如,你不用像下面这样重复定义有 81 个字符元素的数组:
1 2 3 | char line[81]; char text[81]; |
只需这样定义,Line类型即代表了具有81个元素的字符数组,使用方法如下:
1 2 3 4 5 | typedef char Line[81]; Line text,line; getline(text); |