黑马程序员技术交流社区

标题: BOOL类型 [打印本页]

作者: 杨勇    时间: 2014-4-26 12:44
标题: BOOL类型
本帖最后由 杨勇 于 2014-4-26 17:58 编辑

BOOL类型的返回值为YES或NO,即1或0。又说BOOL的本质是char类型的,char类型存储的一般都是‘a’这样的字符,1和0明明显是int类型的,能否深入讲解一下?谢谢!
作者: gmadong@163.com    时间: 2014-4-26 13:08
Bool
是占一个字节的,一切非0的都是yes
bool跟char相同点就是都占一个字节 没有这说法:(BOOL的本质是char类型)
作者: stevenzhao1977    时间: 2014-4-26 13:53
bool 类型 据李明杰视频将 是用宏定义的 int 类型,
在程序编译时 bool 的 YES,NO 会自动替换成1 和0;

但是 好像 在那里 有强转成char 类型 ,所以 只占一字节


作者: 脸皮猴    时间: 2014-4-26 15:17
BOO型的本质,起始是char型,只占用一个字节。但是char型本来就是存的数字。所有的字符都是以字符的ASSIC码来存储的。所以,char型数据里面存的也是数字。但是为什么要用这个BOOL型勒?BOOL型可以提高程序的可读性,当你看到BOOL型变量的时候,你直接第一反应想到的就是0和1、真假、
作者: 执着的土豆    时间: 2014-4-26 16:51
char 类型可以存放-128到127之间的整数。 因为这个区间的整数在内存中只会占用1个字节。所有的char类型在内存中存放时,都是以其所对应的ASSIC码的整数的二进制来存放的。 在调用的时候,会根据你接收的类型而转化。你存放一个整数65,用char 来接收的话,输出会发现他自动转译为字母A了。   因此bool类型的本质并不是Int类型,只不过是在内存中存放的是整数的2进制形式。   你用int接收就返回Int。 还有不明白的请追问。




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