c語言中,沒有原生的bool型別,一般的,c中通過 typedef bool int; 的方式來實現bool型別;
然而在c++中,bool卻成為了內建的原生資料型別,其值有true/false兩個,本質上,bool和int/float/double等原生資料型別並沒有什麼區別,類似的,我們也可以定義bool型別的變數、陣列、指標等;需要注意的一點是:為了相容c語言,c++中的bool型別的變數仍然使用1個位元組的空間來實現儲存,也就是說c++中的bool型別的變數仍然可以進行+、-、*、/等算數運算,只不過對於bool型別的變數,最終表現出來的值只有true/false兩種,記憶體中的值為0,則表現為false,否則表現為true,即「非0即為真」。
c語言中,三目運算子返回的結果為變數的值,因此三目運算表示式是不能出現在賦值符號的左邊的(我們沒有辦法把乙個值賦給另外乙個字面常量)
c++中,則對三目運算子進行了一定程度上的公升級改變,這裡分為了2種情況:第一種,若三目運算子的所有可能返回的結果均為變數,那麼此時三目運算子便可以出現在賦值符號的左側(實際上,此時返回的為對應變數的引用);第二種,就是三目運算子所有可能返回的結果中存在常量(即非變數),此時三目運算子的處理和c語言中相同,返回的結果為具體值,此時不能出現在賦值符號的左側。
正確寫法:
int a = 1;
int b = 2;
a > b ? a : b = 5;// 不會報錯
引用&是c++相較c語言新增的乙個概念,定義為:已存在的變數的別名。
針對引用,這裡有幾點需要注意:
1、定義時必須進行初始化;
2、一旦定義,不能進行修改,即引用一旦定義便和對應變數終身繫結,不能隨意修改;
3、為某變數定義引用時,引用和該變數的型別必須相同;
舉例:int a = 5; int& aa = a; 此時aa就是a的引用,a和aa從此以後就指向了同一片記憶體空間。
第四課 布林型別和引用 狄泰學院
c 中的布林型別 c 中的c語言的基本型別系統之上增加了bool c 中的bool可取的值只有true和false 理論上bool只占用乙個位元組 注意 true代表真值,編譯器內部用1來表示 false代表非真值,編譯器內部用0來表示 bool型別只有true 非0 和false 0 兩個值 c ...
C 學習第四課 串
字串 兩種形式,一種是c模式,一種是c 模式 c模式 char a 6 char a hello 幾種函式 strcpy str1,str2 將str2的內容複製到str1上 strcat str1,str2 將str2連到str1的後面 strlen str1 求取字串str1的長度 strcmp...
C語言 第四課
img 一 浮點型別的除法運算得出乙個浮點數結果,而整數除法運算則產生乙個整數結果。在c語言中,整數除法結果中如果有小數,則小數部分會被丟棄,這個過程被稱為 color green 截尾 color 二 取模運算子 用於整數運算。不要對浮點數使用取模運算子,那將是無效的。三 符號 被稱為賦值運算子,...