C語言中bool是占用節嗎?如果只占用一位怎麼做呢

時間 2021-08-16 09:00:06

1樓:幻翼高達

需要準備的材料分別有:電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建乙個初始.cpp檔案,例如:test.cpp。

2、在test.cpp檔案中,輸入c語言**:bool a;printf("%d", sizeof(a));。

3、編譯器執行test.cpp檔案,此時成功列印出了bool型別的位元組數是1。

2樓:匿名使用者

c語言最小的占用單位就是1位元組 怎麼可能一位

哪怕你打1 0也都要占用1個位元組

3樓:匿名使用者

ls的朋友,其實 m_a 和 m_b的卻只是各佔了乙個位

不過事實上他們還是佔了乙個位元組,只是這個位元組剩下的6bit沒有用而已==

4樓:匿名使用者

位操作可以。winapi好多常數就是用1位.

5樓:匿名使用者

c中bool佔乙個位元組,如果想只占用一位,可以參考:

typedef struct abc

abc;

在這個struct種,兩個bool成員各只占用1bit。

6樓:匿名使用者

如果您使用的是vc

對bool的定義是

typedef int bool;

可見是佔四個位元組

為什麼要這樣呢

int型變數所佔的空間永遠是與作業系統有關的,在32位的作業系統中int型佔4個位元組,所以cpu在執行指令時從記憶體中取資料也是一次最少取4個位元組,如果bool佔乙個位元組的話,cpu就要先取4個位元組,再用「與」運算與掉三個位元組,這樣效率就低了

您要是想控制一位 沒有對應的資料型別 一般通過位運算和位操作來完成

7樓:西冷鎮

標準的c其實沒有bool型別

c++才有bool,但也不是只佔一位

c++中char和bool型別都佔乙個位元組,但是……

8樓:匿名使用者

資料bai

型別有兩層意思

du :1.規定資料zhi的長度;2.規定在資料上dao能進行什麼操作

例:專 int型別,長度為32位,能進行+ - * / % 操作屬。bool型別,長度為8位,只能進行異或操作。 char型別,長度為8位,能進行+ - * / %和字元操作。

那編譯器是怎麼區分char型別跟bool型別的?

c/c++的編譯器中有乙個變數表,表的關鍵字段有(資料型別,變數名,首位址,值),每宣告乙個變數,就把這個變數的相關資訊填進表中

9樓:娜莉china小

1.規定資料的長度bai;2.規定在資料du上能進行什zhi麼操作。

例:dao int型別,長版度為32位,權能進行+ - * / % 操作。bool型別,長度為8位,只能進行異或操作。

char型別,長度為8位,能進行+ - * / %和字元操作。

c/c++的編譯器中有乙個變數表,表的關鍵字段有(資料型別,變數名,首位址,值),每宣告乙個變數,就把這個變數的相關資訊填進表中。

10樓:手機使用者

我正在這寫編譯器構抄建動態字元bai串的問題呢,正好看到你du的問題。

簡單來說編譯zhi器會在編譯過程dao中維護乙個符號表,這個符號表中不僅有你定義的資料中的內容,還包括資料的型別,資料儲存位址,返回值型別資訊,資料引數資訊(這個是記錄陣列或字串長度的)。所以不會弄混

11樓:泗幸

int 看cpu和平台;

char一般佔8位;

bool一般佔8位;

short一般佔16位;

long一般佔32位;

12樓:豬頭或火寶寶

bool型就兩個取值 ture和 false

char 雖然也是佔乙個位元組, 但取值可以不同。

還有就是他們都是c/c++的內建資料型別,就是他們都是c/c++自己定義的型別,關於如何區分那我就不知道了!!

13樓:匿名使用者

從定義來區分.

會顯式的指出是char還是bool

14樓:破空大巫師

char 中儲存字元,全域性變數初始為char(0)

bool 中存0或1,全域性變數初始為數字0

在C語言中如何使用bool型別

寫在楓葉上的故事 布林型 bool 變數的值只有 真 true 和假 false 布林型變數可用於邏輯表示式,也就是 或 與 非 之類的邏輯運算和大於小於之類的關係運算,邏輯表示式運算結果為真或為假。bool可用於定義函式型別為布林型,函式裡可以有 return true return false ...

請問c語言中n是占用幾個位元組的,請問C語言中, n 是占用幾個位元組的

草原上的劍齒虎 正確,n在c語言中,代表轉義字元,代表乙個位元組。 轉義字元是c語言中表示字元的一種特殊形式。通常使用轉義字元表示ascii碼字符集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號 用於表示字串常量的雙撇號 和反斜槓 等。轉義字元用反斜槓 後面跟乙個字元或乙個八進位制...

c語言中temp是什麼,C語言中temp是什麼

temp 是自己定義的。常常定義為起臨時作用的變數。比如有a,b兩個變數,現在交換他們的值,就再定義個temptemp a a bb temp 這樣就實現了交換兩個值。 一般只是用來定義區域性變數的,由於臨時使用,所以名字取的有點隨意. 天雲一號 在c語言中,temp沒有特別的含義,既不是關鍵字也不...