#define类型重命名
#define uint unsigned int
typedef类型重命名
typedef unsigned int uint
区别:#define进行类型重命名时新类型名字在前边,而用typedef进行类型重命名时,新类型名字在后边
哪一个更好呢?
请看下面例子:
typedef int* pint
#define PINT int*
//a,b都为int*类型
pint a,b;
//预处理时替换为int* c,d;则c为int* 类型,而d为int类型
PINT c,d;
比较:使用typedef进行类型重命名要比使用#define好一些,因为使用#define进行类型重命名是在预处理时完成替换的,会产生如上例子的问题,所以推荐使用typedef进行类型重命名。