C专家编程_3.6
typedef int x[10] 和 #define x int[10]
#define peach int
unsigned peach i; /* 可行 */
typedef int banana;
unsigned banana i; /* 错误 非法 */
原因:
可使用其他类型说明符,对#define定义的类型名进行扩展;
但对typedef所定义的类型名进行类型扩展,将会出错,所以不可行
本文探讨了C语言中typedef与#define在类型定义上的差异,分析了为什么对typedef定义的类型名进行类型扩展会出错,而#define定义的类型名则可以进行扩展。
C专家编程_3.6
typedef int x[10] 和 #define x int[10]
#define peach int
unsigned peach i; /* 可行 */
typedef int banana;
unsigned banana i; /* 错误 非法 */
原因:
可使用其他类型说明符,对#define定义的类型名进行扩展;
但对typedef所定义的类型名进行类型扩展,将会出错,所以不可行

被折叠的 条评论
为什么被折叠?