使用 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

要使用更好的拼寫 boolfalsetrue,你需要使用 <stdbool.h>