typedef unsigned char BOOL;typedef unsigned char U8;这种类型定义具体怎么个说法?

/************************Type Defination*****************/
typedef unsigned char BOOL;
typedef unsigned char U8;
typedef unsigned int U16;
typedef unsigned long U32;
typedef char S8;
typedef int S16;
typedef long S32;
#define CONST const
#define FALSE 0
#define TRUE 1
#define NULL 0
上面是一个单片机程序内的头文件config.h中的一段;为什么前两句同一类型用不同名称定义,调试还不会出错?

typedef是变量类型定义命令,一般为了书写程序方便和读代码明了,采用这种方法,相当于对变量类型起个别名。
typedef unsigned char BOOL; //定义BOOL类型
typedef unsigned char U8; //定义U8类型
以上两句只是实现了将unsigned char这个类型重新定义了两个新类型,是合法的,所以不会有错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-05
typedef为已有的类型起一个别名。既然是别名,对同一类型可以起多个别名。这在C/C++中是允许的,各个别名和真名的作用都是一样有效的。
第2个回答  2013-10-05
typedef就是取个别名的意思,比如
typedef char S8;
就是在下面的程序中给char类型取了个小名为S8,程序中出现的S8都当作char处理
第3个回答  2013-10-05
起两个别名而已,为什么要出错
相似回答