宏定义和typedef
在用宏定义和typedef时要注意区别,宏定义是进行替换,而typedef是用来重命名
eg:
#include <stdio.h>
#include <string.h>
#define dpchar char*
typedef char* tydef;
dpchar p1,p2; //可展开为 char* p1, p2; 所以p1是指向char型的指针,而p2是char类型
tydef p3,p4; //可表示为 char*p3;char*p4; 所以p3和p4都是指向char的指针
int main()
{
printf("%d.\n",sizeof(p1)); //4 只要是指针变量,其大小即为4字节
printf("%d.\n",sizeof(p2)); //1 char类型为1个字节
printf("%d.\n",sizeof(p3)); //4 只要是指针变量,其大小即为4字节
printf("%d.\n",sizeof(p4)); //4 只要是指针变量,其大小即为4字节
return 0;
}