在 C 代码中,使用 typedef
替代 #define
有何优势(如果有的话)?
比如说,使用 typedef
是否有什么优点?
typedef unsigned char UBYTE
结束
#define UBYTE unsigned char
当两者都可以使用时
void func()
{
UBYTE byte_value = 0;
/* Do some stuff */
return byte_value;
}
显然,预处理器会尝试在看到#define
时扩展它,这在使用typedef
时不会发生,但对我来说,这似乎没有任何特定的优势或劣势;如果存在问题,我想不出任何情况下使用任一种方式都不会导致构建错误。