天天看點

C語言的布爾類型(_Bool, bool)1,  _Bool 類型2, bool類型, ( #include <stdbool.h> )

參考:  C語言的布爾類型(_Bool)

1,  _Bool 類型

#include <stdio.h>
/*
_Bool 
大小: 占一位, 0 和 1 
非零: 1, 表示為真
零  : 0, 表示為假
*/
int main(void)
{
    _Bool b;
    
    printf("sizeof(_Bool) = %d\n", sizeof(_Bool));

    int i;
    for (i = -10; i < 10; ++i)
    {
        b = i;
        printf("i = %3d, b = %d \n", i, b);
    }

    return 0;
}
/*
sizeof(_Bool) = 1
i = -10, b = 1
i =  -9, b = 1
i =  -8, b = 1
i =  -7, b = 1
i =  -6, b = 1
i =  -5, b = 1
i =  -4, b = 1
i =  -3, b = 1
i =  -2, b = 1
i =  -1, b = 1
i =   0, b = 0
i =   1, b = 1
i =   2, b = 1
i =   3, b = 1
i =   4, b = 1
i =   5, b = 1
i =   6, b = 1
i =   7, b = 1
i =   8, b = 1
i =   9, b = 1
*/
           

2, bool類型, ( #include <stdbool.h> )

#include <stdio.h>
#include <stdbool.h>
/*
bool類型本質上還是 _Bool類型
*/
int main(void)
{
    bool b1 = true;
    bool b2 = false;
    
    printf("sizeof(bool) = %d \n", sizeof(bool));   // 1
    printf("b1 = %d \n", b1);   // 1
    printf("b2 = %d \n", b2);   // 0

    return 0;
}