溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言的關(guān)鍵詞有哪些

發(fā)布時間:2021-11-22 14:54:08 來源:億速云 閱讀:110 作者:iii 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容介紹了“C語言的關(guān)鍵詞有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

早在C90時候,即第一版本的ISO C語言里面,一共包含了32個關(guān)鍵詞,這些關(guān)鍵詞在絕大多數(shù)的C語言書里面都會講解,也是我們平時使用頻率很高的一些關(guān)鍵詞。如圖1所示。
                           
C語言的關(guān)鍵詞有哪些
圖1 C89/C90中的關(guān)鍵詞

后來到C99更新標(biāo)準(zhǔn)的時候,對C90中的關(guān)鍵詞進行了擴充,此次擴充的關(guān)鍵詞數(shù)量為5個,分別覆蓋了數(shù)據(jù)類型的擴充,函數(shù)定義的擴充和指針限定等方面。C99新增的5個關(guān)鍵詞如圖2所示。

C語言的關(guān)鍵詞有哪些
圖2 C99新增的5個關(guān)鍵詞

_Complex和_Imaginary關(guān)鍵詞,增加了C語言對復(fù)數(shù)的支持,包含標(biāo)準(zhǔn)頭文件“<complex.h>”后,我們就可以用 complex來代表 _Complex,用imaginary來代表 _Imaginary,以及用“_Complex_I”或者大寫字母“I”來代表虛數(shù)單位 i,也就是 -1的平方根。
_Bool關(guān)鍵詞,補充了C語言對布爾類型的支持,包含標(biāo)準(zhǔn)頭文件<stdbool.h>后,我們可以用 bool 代替 _Bool ,true 代替 1 ,false 代替 0 。例如:
bool logic_switch = true;
logic_switch = false;
我們前面所說的C語言中沒有表示布爾類型的關(guān)鍵詞,也是基于C90所說,因為C99后加的Bool類型關(guān)鍵詞,它并不是類似于通常意義上面的原生C語言關(guān)鍵詞,需要加入額外的頭文件才能支持。
最新的C語言版本C11,在C99的基礎(chǔ)上增加了7個關(guān)鍵詞,如圖3所示。

C語言的關(guān)鍵詞有哪些
圖3 C11中增加的7個關(guān)鍵詞

這些關(guān)鍵詞中,_Alignof給出指定數(shù)據(jù)類型內(nèi)存對齊的字節(jié)數(shù),如double按8字節(jié)對齊,其內(nèi)存地址都是8的整數(shù)倍。_Alignas關(guān)鍵字指定某個變量按照其他數(shù)據(jù)類型對齊,如char正常按1字節(jié)對齊,可指定按short類型的2字節(jié)對齊。
_Atomic關(guān)鍵詞是針對多線程的原子操作而增加的關(guān)鍵詞。
_Static_assert關(guān)鍵詞是用于編譯期間的斷言,因此也稱為靜態(tài)斷言。
_Noreturn表明調(diào)用完成后函數(shù)不返回主調(diào)函數(shù)。注意,這與void返回類型不同。void類型的函數(shù)在執(zhí)行完畢后返回主調(diào)函數(shù),只是它不提供返回值。
_Thread_local為線程存儲類限定符。
_Generic提供一種基于控制表達式的類型,在編譯時選擇數(shù)個表達式之一的方法。
對于C11標(biāo)準(zhǔn),我們在平時做C語言設(shè)計時,用的非常少,因為對于單片機開發(fā)來說,其程序設(shè)計比較簡單,基本用不到C11中新增的功能。而對于Linux開發(fā)來說,底層程序開發(fā)都是基于GNU C語言的,而GNU C語言對標(biāo)準(zhǔn)C語言又有很多擴展,甚至C11中某些新特性是從GNU C中借鑒過來的。
我們在指定GCC編譯器編譯C語言版本時,可以使用后綴命令-std=c11,來使編譯器支持C11版本。如:
-std=c++11,支持C++11標(biāo)準(zhǔn);
-std=gnu++11,支持C++11標(biāo)準(zhǔn)和GNU擴展特性;
因此我們編譯時,指定C語言版本,可以直接使用命令:
gcc -o 程序名源文件.c -std=c11。

“C語言的關(guān)鍵詞有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI