C语言typedef和#define

2019-07-14 21:11发布

#define A int
typedef int B
A a,b;
B c,d;
以上有错误吗,或者是否存在问题?若有错指出。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
HARRY007
2019-07-16 00:17
typedef是C语言中的一个关键字,作用是对已存在的数据类型重命名,但是并没有产生新的数据类型。#define宏定义的话就是最简单最直观的替换,在预编译阶段就完成了的。这里引用别人的一个例子说一下区别。
     #define PCHAR char *
      PHCAR p3,p4;
      typedef char * pchar
      pchar p1,p2;
在这里p4不是指针,仅仅是一个char类型的字符。     引自《C语言深度剖析》第二版P48

一周热门 更多>