BOOL和bool的區別

2021-09-30 13:27:24 字數 1517 閱讀 8731

一、bool和bool的區別 

1、型別不同    bool為int型    bool為布林型    

2、長度不同  

bool只有乙個位元組  

bool長度視實際環境來定,一般可認為是4個位元組    

3、取值不同  

bool取值false和true,是0和1的區別; false可以代表0,但true有很多種,並非只有1。  

如果數個bool物件列在一起,可能會各佔乙個bit,這取決於編譯器。

bool是微軟定義的typedef int bool(在windef.h中)。

與bool不同,它是乙個三值邏輯,  

true/false/error,返回值為大於0的整數時為true,返回值為0時候,為false,返回值為-1時為error。  

win32 api中很多返回值為bool的函式都是三值邏輯。

比如getmessage().  

bool getmessage(  

lpmsg lpmsg, // message information    hwnd hwnd, // handle to window  

uint wmsgfiltermin, // first message    uint wmsgfiltermax // last message);  

if the function retrieves a message other than wm_quit, the return value is nonzero.  

if the function retrieves the wm_quit message, the return value is zero.  

if there is an error, the return value is -1.      

二、布林型變數bool 

bool是布林型變數,也就是邏輯型變數的定義符,類似於float,double等,只不過float定義浮點型,

double定義 雙精度浮點型。 在objective-c中提供了相似的型別bool,它具有yes值和no值。  

布林型變數的值只有 真 (true) 和假 (false)。  

布林型變數可用於邏輯表示式,也就是「或」「與」「非」之類的邏輯運算和大於小於之類的關係運算,

邏輯表示式運算結果為真或為假。  

bool可用於定義函式型別為布林型,函式裡可以有 return true; return false 之類的語句。  

布林型運算結果常用於條件語句,    

if (邏輯表示式)        

else    ;    

三、關於bool的小例子    

(1)  

#include

using namespace std;    

int main()      

執行結果:ok!    

(2)  

#include

using namespace std;    

int main()  

BOOL和bool的區別

bool和bool的區別 1 型別不同 bool為int型 bool為布林型 2 長度不同 bool只有乙個位元組 bool長度視實際環境來定,一般可認為是4個位元組 3 取值不同 bool取值false和true,是0和1的區別 bool取值false和true,是0和非0的區別而bool是標準c...

BOOL和bool的區別

一 1 型別不同 bool為int型 bool為布林型 2 長度不同 bool只有乙個位元組 bool長度視實際環境來定,一般可認為是4個位元組 3 取值不同 bool取值false和true,是0和1的區別 bool取值false和true,是0和非0的區別 二 bool是標準c 資料型別,可取值...

BOOL和bool的區別

一 1 型別不同 bool為int型 bool為布林型 2 長度不同 bool只有乙個位元組 bool長度視實際環境來定,一般可認為是4個位元組 3 取值不同 bool取值false和true,是0和1的區別 bool取值false和true,是0和非0的區別 二 bool是標準c 資料型別,可取值...