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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨勇 中级黑马   /  2014-4-26 12:44  /  1573 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨勇 于 2014-4-26 17:58 编辑

BOOL类型的返回值为YES或NO,即1或0。又说BOOL的本质是char类型的,char类型存储的一般都是‘a’这样的字符,1和0明明显是int类型的,能否深入讲解一下?谢谢!

评分

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

查看全部评分

5 个回复

倒序浏览
Bool
是占一个字节的,一切非0的都是yes
bool跟char相同点就是都占一个字节 没有这说法:(BOOL的本质是char类型)

点评

恩,视频里老师说的....  发表于 2014-4-26 13:20
回复 使用道具 举报
bool 类型 据李明杰视频将 是用宏定义的 int 类型,
在程序编译时 bool 的 YES,NO 会自动替换成1 和0;

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

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

评分

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

查看全部评分

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