使用 Intrinsic(內建)Type Bool
Version >= C99
在 C 標準版本 C99 中新增,_Bool
也是本機 C 資料型別。它能夠保持值 0
(對於 false )和 1
(對於 true )。
#include <stdio.h>
int main(void) {
_Bool x = 1;
_Bool y = 0;
if(x) /* Equivalent to if (x == 1) */
{
puts("This will print!");
}
if (!y) /* Equivalent to if (y == 0) */
{
puts("This will also print!");
}
}
_Bool
是一個整數型別,但對其他型別的轉換有特殊規則。結果類似於 if
表示式中其他型別的用法。在下面的
_Bool z = X;
- 如果
X
有一個算術型別(是任何型別的數字),z
如果X == 0
變成0
。否則z
變成了1
。 - 如果
X
具有指標型別,則z
如果X
是空指標則變為0
,否則變為1
。
要使用更好的拼寫 bool
,false
和 true
,你需要使用 <stdbool.h>
。