#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 类型变量

 

posted @ 2020-08-27 13:59  流水灯  阅读(109)  评论(0编辑  收藏  举报