5.7 C51的自定义类型

C51语言提供了多种多样的数据类型,包括基本数据类型和聚合数据类型。除此以外,为了方便用户程序设计的需要,C51还允许用户自定义类型名,以满足特殊需要。

5.7.1 自定义类型的声明

自定义类型是指由用户自己定义类型说明符,即由用户为数据类型取其他类型名。自定义类型声明的一般形式如下。


typedef原类型名新类型名;


其中,“typedef”为类型定义关键字,原类型名为已有的类型名称,新类型名一般用大写表示,以便于区别原类型名。有时对于比较长的类型说明,可以使用自定义类型来减少类型说明的长度。例如,无符号字符型变量的类型说明符为unsigned char,为了书写简单并增加程序的可读性,可以自定义整型说明符,如下所示。


typedef unsigned char uchar;


自定义后的整型说明符就可以使用了,用户在程序中可用uchar来代替unsigned char作无符号字符型变量的类型声明。例如,声明无符号字符型变量a、b如下所示。


uchar a,b;//声明整型变量


该语句完全等效于如下形式。


unsigned char a,b;