#define和typedef区别**
在说区别之前,先看看下面定义了几个指针?
int* p1, p2, p3;
这下面定义了几个指针?
#define INTD int*
INTD p1, p2, p3;
这个呢?
typedef int* INT;
INT p1, p2, p3;
#define //宏定义命令
宏替换?->宏定义好后,在程序中使用宏名就称为宏替换。
定义 替换-> 顾名思义。
#define INTD int*
就是程序中出现int*标识符就替换成INTD字符串
typedef 起别名
typedef int* INT;
int*是你的真名,INT是你的绰号,但表示的还是你这个人,意思一样。(或许你不理解,不理解就算了吧,直接看程序吧)
#include<stdio.h>
#define INTD int*//宏定义 宏替换
typedef int* INT; //起别名
int main()
{
int* p1, p2, p3;//定义一个指针p1
INTD p1, p2, p3;//定义一个指针p1,宏替换
INT p1, p2, p3;//定义三个个指针p1,p2, p3,起别名
while (1);
return 0;
}
总的来说,typedef 感觉表达的更深层次,#define比较浅显。
自己意会吧