C++中的bool型別
阿新 • • 發佈:2018-12-17
1 bool型別簡介
C++中的布林型別:
- C++中bool的可取值只有true和false
- 理論上bool只佔一個位元組(根據編譯器不同而不同)
注意: true代表真值,編譯器內部用1表示;false代表非真值,編譯器內容用0來表示。
布林型別的值:
- bool型別只有true(非0)和false(0)兩個值
- C++編譯器會將非0值轉換成true,0值轉換成false
注意: bool內部還是用一個位元組的整形實現的,為了相容C語言,是支援數學運算的。
測試程式碼如下:
#include <stdio.h>
int main(int argc, char *argv[])
{
bool b = false;
int a = b;
printf("sizeof(b) = %d\n", sizeof(b)); // 1
printf("b = %d, a = %d\n", b, a); // 0 0
b = 3;
a = b;
printf("b = %d, a = %d\n", b, a); // 1 1
b = -5;
a = b;
printf("b = %d, a = %d\n", b, a); // 1 1
a = 10;
b = a;
printf("a = %d, b = %d\n" , a, b); // 10 1
a = 0;
b = a;
printf("a = %d, b = %d\n", a, b); // 0 0
return 0;
}