BOOL和bool的區別

1、 
一、類型不一樣 
BOOL爲int型 
bool爲布爾型 
二、長度不一樣 
bool只有一個字節 
BOOL長度視實際環境來定,通常可認爲是4個字節 
三、取值不一樣 
bool取值false和true,是0和1的區別 
BOOL取值FALSE和TRUE,是0和非0的區別 
二: 
bool是標準C++數據類型,可取值true和false。單獨佔一個字節, 
若是數個bool對象列在一塊兒,可能會各佔一個bit,這取決於編譯器。 

BOOL是微軟定義的typedef int BOOL。與bool不一樣,它是一個三值邏輯, 
TRUE/FALSE/ERROR,返回值爲>0的整數爲TRUE,0爲FALSE,-1爲ERROR。 
Win32 API中不少返回值爲BOOL的函數都是三值邏輯。好比GetMessage(). 
三: 
大BOOL和小bool之間的區別: 
一、類型不一樣 
BOOL爲int型 
bool爲布爾型 
二、長度不一樣 
bool只有一個字節 
BOOL長度視實際環境來定,通常可認爲是4個字節 
三、取值不一樣 
bool取值false和true,是0和非0的區別 
BOOL取值FALSE和TRUE,是0和1的區別 
四、例子 
bool x=3;  //告警 
bool x=1;  //正確 
BOOL x=3;  //正確 
BOOL x=3.3;  //告警 
注:windows爲了兼容問題定義的基礎變量。 
typedef unsigned long        DWORD; 
typedef int                  BOOL; 
typedef unsigned char        BYTE; 
typedef unsigned short      WORD; 
typedef float                FLOAT; 
typedef FLOAT                *PFLOAT; 
typedef BOOL near            *PBOOL; 
typedef BOOL far            *LPBOOL; 
typedef BYTE near            *PBYTE; 
typedef BYTE far            *LPBYTE; 
typedef int near            *PINT; 
typedef int far              *LPINT;windows

相關文章
相關標籤/搜索