typedef int BOOL的目的是?
答案:3 悬赏:20
解决时间 2021-02-26 22:46
- 提问者网友:曖昧情执
- 2021-02-26 09:46
为什么要弄一个实际为int的类型BOOL?用TRUE和FALSE与直接用0与非0不是一样吗?绕一下弯的目的是什么呢?还有很多其他的类似的,我不是很清楚目的啊。麻烦解答下~
最佳答案
- 二级知识专家网友:最后战士
- 2021-02-26 11:02
没绕弯啊 0和非0,那么非0到底是几?VC一般定义的TRUE 是1,有些语言则是二进制全1为TRUE。 使用int是因为32位机器以4字节对齐时效率最高,省那几个字节浪费了效率不值得。 这里的typedef是因为刚开始的C标准没有bool型的,所以用了这种方法“支持”bool型。 现在的VC里bool都是内置类型了。但BOOL还是保留的。
全部回答
- 1楼网友:24K纯糖
- 2021-02-26 13:02
因为逻辑表述清晰啊,如果都是int,程序大了就很难看懂了。 而BOOL, TRUE, FALSE一看就明白是逻辑值。 windows代码里好多的结构,定义,都是这个意思,实际是int,但起了一个别的名字 就是为了描述清晰,这个值的作用的清楚而且也不容易用错。
- 2楼网友:一身浪痞味
- 2021-02-26 11:58
不可以,内置类型不能定义为另一种内置类型
______________________________________________
bool是已经内置的类型,不能改为其他类型
可以修改下 名字:
比如typedef int bool;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯