黑马程序员技术交流社区

标题: typedef与define的区别? [打印本页]

作者: apple_victor    时间: 2014-3-27 16:26
标题: typedef与define的区别?
为什么

#define INT int
unsigned INT a;

  这种用法是可行的;



typedef int INT;
unsigned INT a;

是绝对错误的用法呢?



作者: 胡永城    时间: 2014-3-27 16:58
那是因为 unsigned 如同 unsigned intint 一样是一种数据类型,是一个整体。如同 long long int 一样是一种数据类型。

作者: 秋天De神话    时间: 2014-3-27 21:41
不懂, 看了上面的解释也是不明白,#define INT int    就是把 INT 替换为 int    这和 typedef int INT 完全一样啊  
作者: 那个Mr_Z    时间: 2014-4-2 17:22
1、define可以和其他的混用
#define INT int;unsigned INT对;
typedef INT int;unsigned INT错;
2、define会产生歧义:
#define INT int*;INT a,b;;a是指针b不是
typedef INT int*;INT a,b;;ab都是指针
打字挺累,求技术分:Q




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2