A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© apple_victor 中级黑马   /  2014-3-27 16:26  /  965 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么

#define INT int
unsigned INT a;

  这种用法是可行的;



typedef int INT;
unsigned INT a;

是绝对错误的用法呢?


评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

3 个回复

倒序浏览
那是因为 unsigned 如同 unsigned intint 一样是一种数据类型,是一个整体。如同 long long int 一样是一种数据类型。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
不懂, 看了上面的解释也是不明白,#define INT int    就是把 INT 替换为 int    这和 typedef int INT 完全一样啊  
回复 使用道具 举报
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

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马