#typedef char * pstr1
#define pstr2 char *
pstr1 s1,s2;
pstr2 s3,s4;
我们会发现s1,s2,s3,都是char *,而s4是char 。
结果还原如下:
char *s1 ,*s2;
char *s3,s4;
比如说:
#define PI 3.1415926
起到的作用就是,如果出现 s = PI * r * r; 那么,PI会被编译程序换成后面的常数,只是个简单替换;
再比如:
typedef int *pINT;
表示定义了一个 int *类型的别称,为pINT;
so: pINT mm;
则mm被理解为int *类型
这就是两者的差别