bool型變數問題詳解

2021-06-27 09:06:34 字數 923 閱讀 3862

環境linux下 gcc編譯器

#include 

#include 

#include 

int main(void)

$ ./length 

bool = 1

a = 1;b = 0;c = 0;d = 1;e = 1

其實:有了這個例子就對bool有了一定了解。

在c語言中沒有bool變數。一般是自己定義

#define true 1

#define false 0

enum bool;

#define true (1==1)

#define false (!true)

bool和bool的區別:

1、型別不同

bool為int型

bool為布林型

2、長度不同

bool只有乙個位元組

bool長度視實際環境來定,一般可認為是4個位元組

3、取值不同

bool取值false和true,是0和1的區別

如果數個bool物件列在一起,可能會各佔乙個bit,這取決於編譯器。

bool是微軟定義的typedef int bool(在windef.h中)。與bool不同,它是乙個三值邏輯,

true/false/error,返回值為大於0的整數時為true,返回值為0時候,為false,返回值為-1時為error。

布林型變數bool

bool是布林型變數,也就是邏輯型變數的定義符,類似於float,double等,只不過float定義浮點型,double定義雙精度浮點型。 

布林型變數的值只有 真 (true) 和假 (false)。 

布林型變數可用於邏輯表示式,也就是「或」「與」「非」之類的邏輯運算和大於小於之類的關係運算。

建議:最好別用bool,bool變數可用int代替。

Objective C列印BOOL型變數

有時候我們可能會定義乙個 bool b b yes nslog bool b b 然後執行程式就會崩潰,這是因為 列印的是乙個物件,bool是乙個資料型別。使用 要求對應的引數必須是乙個物件,並且還實現物件的description方法,這樣就可以列印出物件的內容了。nslog其實也就是呼叫該物件的d...

bool型變數的賦值和運算

今天在除錯乙個程式的時候出現bug,搜尋兩個小時,終於找出,其實bug很幼稚,主要是基礎不紮實 廢話不多說,直接上 模型是 bool flags false flags 0x2 printf flags 0x 0x flags 以前總以為bool通常就是乙個位元組,和char類似,大部分情況就把它當...

c語言中有bool型變數嗎?

c語言裡面是沒有bool 布林 型別的,c 裡面才有,這就是說,在c 裡面使用bool型別是沒有問題的。bool型別有只有兩個值 true 1 false 0。但是,c99標準裡面,又定義了bool型別變數。這時,只要引入標頭檔案 就能在c語言裡面正常使用bool型別。或者自己定義 typedef ...