define: 发生在预处理阶段,是简单的文本替换。
typedef: 发生在编译阶段,定义一个类型的别名,用于处理复杂类型
以下代码以定义int*型指针为例:
可以看到p2部分报错;
pint1 p1,p2 等于 int* p1,p2;只有p1是int*型指针,p2依然是int型;
pint2 p3,p4 等于 p3,p4;两个都是指针。因为typedef是类型定义,所以int*默认被合在一起了
define: 发生在预处理阶段,是简单的文本替换。
typedef: 发生在编译阶段,定义一个类型的别名,用于处理复杂类型
以下代码以定义int*型指针为例:
可以看到p2部分报错;
pint1 p1,p2 等于 int* p1,p2;只有p1是int*型指针,p2依然是int型;
pint2 p3,p4 等于 p3,p4;两个都是指针。因为typedef是类型定义,所以int*默认被合在一起了