星空网 > 软件开发 > 操作系统

OC语言中BOOL 和 bool 区别

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;

}

打印结果如下:

OC语言中BOOL 和 bool 区别images/loading.gif' data-original="http://img.blog.csdn.net/20151102094639255?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />

因为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 区别

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流