C語言學(xué)習(xí)筆記(五)

167. 聯(lián)合是一種數(shù)據(jù)類型,它能夠在同意內(nèi)存里面存儲(chǔ)不同的數(shù)據(jù)類型。聲明一個(gè)聯(lián)合類型的變量時(shí),編譯器會(huì)分配足夠的空間,以便能夠存儲(chǔ)聯(lián)合聲明中占用字節(jié)最大的類型。聯(lián)合的初始化方法有三種:把一個(gè)聯(lián)合初始化為另一個(gè)同類型的聯(lián)合;初始化聯(lián)合的第一個(gè)元素;根據(jù)C99標(biāo)準(zhǔn),使用指定初始化器。在聯(lián)合中,一次只存儲(chǔ)一個(gè)值。即使有充足的空間,也不能同時(shí)存儲(chǔ)兩個(gè)及兩個(gè)以上的的值。

168. 可以利用枚舉類型聲明符號(hào)名稱來表示整型常量,使用enum關(guān)鍵字,可以創(chuàng)建一個(gè)新“類型”并指定它可具有的值。枚舉中的每一個(gè)符號(hào)常量,被稱為枚舉符。

169. 雖然枚舉符是int類型,但是枚舉變量可以是任意整數(shù)類型,前提是該整數(shù)類型可以存儲(chǔ)枚舉常量。需要注意的是,C枚舉的一些特性并不適用于C++。比如,C允許變量使用++運(yùn)算符,但是C++標(biāo)準(zhǔn)不允許。

170. 默認(rèn)情況下,枚舉列表中的常量被賦予0、1、2等。在聲明時(shí),也可以為枚舉常量指定整數(shù)值。如果只對(duì)一個(gè)枚舉常量賦值,那么后續(xù)的枚舉常量會(huì)被依次遞增賦值。

171. C語言使用名稱空間標(biāo)識(shí)程序中的各部分,即通過名稱來識(shí)別。作用域是名稱空間概念的一部分:兩個(gè)不同作用域的同名變量不沖突。兩個(gè)相同作用域的同名變量沖突。名稱空間是分類別的。在特定作用域中的結(jié)構(gòu)標(biāo)記、聯(lián)合標(biāo)記和枚舉標(biāo)記都共享相同的名稱空間,該名稱空間與普通變量使用的空間不同。這意味著在相同作用域中變量和標(biāo)記的名稱可以相同,不會(huì)引起沖突,但不能在相同作用域中聲明兩個(gè)同名標(biāo)簽或同名變量。但是在C++中不允許這么做,因?yàn)樗褬?biāo)記名和變量名放在相同的名稱空間中。

172. typedef創(chuàng)建的符號(hào)名只受限于類型,不能用于值。typedef由編譯器解釋,不是預(yù)處理器。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容