首页 > 编程语言 > 详细

OC语言中BOOL 和 bool 区别

时间:2015-11-02 19:11:47      阅读:385      评论:0      收藏:0      [点我收藏+]

1、类型不同

BOOL为int型;

bool为布尔型;

 

2、长度不同

bool只有一个字节;

BOOL长度视实际环境来定,一般可认为是4个字节;

3、取值不同

bool取值false和true,是0和1的区别;

BOOL取值FALSE和TRUE,是0和非0的区别;

下面用例子来说明一下

#import <Foundation/Foundation.h>

 

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        BOOL b1 =3;

        bool b2 =3;

        

        BOOL b3 =256;

        bool b4 =256;

        NSLog(@"b1=%d",b1 );

        NSLog(@"b2=%d",b2 );

        NSLog(@"b3=%d",b3 );

        NSLog(@"b4=%d",b4 );

    }

    return 0;

}

打印结果如下:

技术分享

因为b2是bool类型,所以b2只能是1或0;即,b2=b4=1。

因为b3是BOOL类型,它有8位存储空间,所以b3的取值范围是-256~255。

因为256转化16进制=0X100,所以b3=0;b1=3。

最后可以得出结论,如果变量为BOOL类型,只要数值>255,它的结果只能是低8位的值;

如果b3=272;则打印结果是b3=16。

OC语言中BOOL 和 bool 区别

原文:http://www.cnblogs.com/guobin337/p/4930870.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!