#define 和 typedef 的区别
typedef 被用来给变量类型起一个别名,#define 也有类似的应用,如下:
#define INTPTR1 int*
typedef int* INTPTR2;
INTPTR1 p1, p2;
INTPTR2 p3, p4;
含义分别为:
声明一个指针变量p1和一个整型变量p2,#define 是在预处理阶段被处理,把 INTPTR1 替换为 int*,替换后代码为 int * p1, p2;
声明两个指针变量p3、p4,typedef 是在编译阶段被处理,INTPTR2作为一个变量类型,p3 和 p4 都是 INTPTR2 类型变量