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 区别的更多相关文章

  1. C语言中char* 和 char []区别

    想要把丢掉的东西捡起来,还是很辛苦啊,今天我就发现,我连char* 和 char []的区别都不知道. 很多人觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指正. 本质上 ...

  2. 小结:Swift、OC语言中多target在代码中如何区分

    一.对swift工程 经实践,网上的方法都无法成功,后来思考DEBUG宏定义方式,经实测有效,方式如下: 注意:不能把swift flags 小三角折叠后双击设置-DTarget4AppStore, ...

  3. OGNL表达式语言中的"#"和"$"的区别

    Struts2使用标准的Context来进行OGNL表达式语言求值,OGNL的顶级对象是一个Context,这个Context对象就是一个Map类型实例,其根对象就是ValueStack,如果需要访问 ...

  4. C语言中sizeof与strlen区别

    本文转载自:http://www.2cto.com/kf/201109/105100.html 1. 以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符,如在代码中写"abc& ...

  5. Java语言中null与" "的区别

    null是空对象,没有地址,可以赋值给任何对象:""是空字符串,有地址但是里面的内容是空的,只能赋值给字符串对象. 如:String s;//分配了一个内存空间,没存入任何对象   ...

  6. C语言中puts()和printf()区别

    puts的功能更加单一,只能输出字符串:printf的功能更加广,可以格式化数据,输出多种类型的数据. puts()函数用来向标准输出设备(屏幕)写字符串并换行. 调用方式为puts(string): ...

  7. BOOL和bool的区别

    一. 1.类型不同 BOOL为int型 bool为布尔型 2.长度不同 bool只有一个字节 BOOL长度视实际环境来定,一般可认为是4个字节 3.取值不同 bool取值false和true,是0和1 ...

  8. C-C++到底支不支持VLA以及两种语言中const的区别

    C-C++到底支不支持VLA以及两种语言中const的区别 到底支不支持VLA VLA就是variable-length array,也就是变长数组. 最近写程序的时候无意间发现,gcc中竟然支持下面 ...

  9. 浅谈Java语言中ArrayList和HashSet的区别

    Java语言中ArrayList和HashSet的区别 2019-04-10   13:22:49 一.基本区别 首先一起看个实例,其代码如下: package com.MrZ_baby.com; i ...

随机推荐

  1. Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) A

    Description Santa Claus is the first who came to the Christmas Olympiad, and he is going to be the f ...

  2. $smarty获取变量get,post等用法

    {$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间邮戳.直接访问PHP ...

  3. 4W1T教程1 如何使用幻灯片

    第一步,读取类别为xxXX前五张幻灯片 <!-- 幻灯片循环开始-->{section name=banner loop=$banner} <li data-transition=& ...

  4. winform常用的属性(listview),常用容器(二者结合)

    ListVies控件主要用于展示数据(非常实用和重要的控件) FullRowSelect:设置是否行选择模式.(默认为false) (开启之后一下选中一行数据) ___________________ ...

  5. 如何在R语言中使用Logistic回归模型

    在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...

  6. 年终汇报、总结、述职:教你做一场B格满满的技术大会演讲

    什么样的演讲和呈现最受听众欢迎,内容干货?逻辑清晰?长相帅气? 偶尔被邀作为speaker参加一些圈内的技术大会进行演讲.这里我分享下自己的经验,如何做一场B格满满的技术大会演讲,希望给做汇报.总结. ...

  7. python之路3:

    class set(object): """ set() -> new empty set object set(iterable) -> new set o ...

  8. R12供应商地点层付款方法SQL

    --R12供应商地点层付款方法SQL:SELECT ipmv.payment_method_name     , ipmv.payment_method_code     , 'N' primary_ ...

  9. C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。

    作业的具体要求如下: 编写一个完整的程序,实现如下功能.(1)    输入10个无序的整数.(2)    用选择排序法将以上接收的10个无序整数按从大到小的顺序排序.(3)    要求任意输入一个整数 ...

  10. .Net环境下的缓存技术介绍

    .Net环境下的缓存技术介绍 摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1         概念 1.1 ...