BOOL/bool/Boolean的區(qū)別

學(xué)iOS開發(fā)算起來應(yīng)該是一年多的,但是在平常使用布爾值的時(shí)候總是隨便一用,只知道它們就只有兩種值1或者0而已,并沒有太多的注意。但是今天特地去官方文檔翻了一下它們各自的定義,才覺得原來還是略有不同的。特別是Boolean中的FALSE和TRUE居然是用枚舉來定義的。真是讓我大開眼界!在此跟大家分享一下。

BOOL

typedef signed char BOOL;
#define YES (BOOL)1
#define NO  (BOOL)0

bool

C99標(biāo)準(zhǔn)定義了一個(gè)新的關(guān)鍵字_Bool,提供了布爾類型
#define bool _Bool
#define true 1  
#define false 0

Boolean

typedef unsigned char Boolean;
enum DYLD_BOOL { FALSE, TRUE };

總結(jié)

下面的表格更能表現(xiàn)上面三種布爾類型的真值類型和數(shù)值:

Name Typedef Header True Value False Value
BOOL signed char objc.h YES NO
bool _Bool stdbool.h true false
Boolean unsigned char MacTypes.h TRUE FALSE
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容