宏主要用于定义常量及书写复杂的内容;typedef主要用于定义类型别名。
宏在编译阶段完成替换,属于文本插入替换;typedef是编译的一部分。
宏不进行类型检查;typedef会检查数据类型。
宏不是语句,不加分号;typedef是语句,要加分号。
注意对指针的操作,typedef char * p_char和#define p_char char *区别巨大。
宏主要用于定义常量及书写复杂的内容;typedef主要用于定义类型别名。
宏在编译阶段完成替换,属于文本插入替换;typedef是编译的一部分。
宏不进行类型检查;typedef会检查数据类型。
宏不是语句,不加分号;typedef是语句,要加分号。
注意对指针的操作,typedef char * p_char和#define p_char char *区别巨大。