C/C++语言简介之关键字
生活随笔
收集整理的這篇文章主要介紹了
C/C++语言简介之关键字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關鍵字又稱為保留字,就是已被C語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變量名、函數名等標識符。由ISO標準定義的C語言關鍵字共32個:auto、double、int、struct、break、else、long、switch、case、enum、register、typedef、char、extern、return、union、const、float、short、unsigned、continue、for、signed、void、default、goto、sizeof、volatile、do、if、while、static、inline、restrict _Bool _Complex _Imaginary _Generic。
一、基本數據類型
??? void:聲明函數無返回值或無參數,聲明無類型指針,顯示丟棄運算結果。(C89標準新增)
??? char:字符型類型數據,屬于整型數據的一種。(K&R時期引入)
??? int:整型數據,表示范圍通常為編譯器指定的內存字節長。(K&R時期引入)
??? float:單精度浮點型數據,屬于浮點數據的一種。(K&R時期引入)
??? double:雙精度浮點型數據,屬于浮點數據的一種。(K&R時期引入)
??? _Bool:布爾型(C99標準新增)
??? _Complex:復數的基本類型(C99標準新增)
??? _Imaginary:虛數,與復數基本類型相似,沒有實部的純虛數(C99標準新增)
??? _Generic:提供重載的接口入口(C11標準新增)
二、類型修飾關鍵字
??? short:修飾int,短整型數據,可省略被修飾的int。(K&R時期引入)
??? long:修飾int,長整型數據,可省略被修飾的int。(K&R時期引入)
??? long long:修飾int,超長整型數據,可省略被修飾的int。(C99標準新增)
??? signed:修飾整型數據,有符號數據類型。(C89標準新增)
??? unsigned:修飾整型數據,無符號數據類型。(K&R時期引入)
??? restrict:用于限定和約束指針,并表明指針是訪問一個數據對象的唯一且初始的方式。(C99標準新增)
三、復雜類型關鍵字
??? struct:結構體聲明。(K&R時期引入)
??? union:聯合體聲明。(K&R時期引入)
??? enum:枚舉聲明。(C89標準新增)
??? typedef:聲明類型別名。(K&R時期引入)
??? sizeof:得到特定類型或特定類型變量的大小。(K&R時期引入)
??? inline:內聯函數用于取代宏定義,會在任何調用它的地方展開。(C99標準新增)
四、存儲級別關鍵字
??? auto:指定為自動變量,由編譯器自動分配及釋放。通常在棧上分配。與static相反。當變量未指定時默認為auto。(K&R時期引入)
??? static:指定為靜態變量,分配在靜態變量區,修飾函數時,指定函數作用域為文件內部。(K&R時期引入)
??? register:指定為寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數。(K&R時期引入)
??? extern:指定對應變量為外部變量,即標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。(K&R時期引入)
??? const:指定變量不可被當前線程改變(但有可能被系統或其他線程改變)。(C89標準新增)
??? volatile:指定變量的值有可能會被系統或其他線程改變,強制編譯器每次從內存中取得該變量的值,阻止編譯器把該變量優化成寄存器變量。(C89標準新增)
五、跳轉結構
??? return:用在函數體中,返回特定值(如果是void類型,則不返回函數值)。(K&R時期引入)
??? continue:結束當前循環,開始下一輪循環。(K&R時期引入)
??? break:跳出當前循環或switch結構。(K&R時期引入)
??? goto:無條件跳轉語句。(K&R時期引入)
六、分支結構
??? if:條件語句,后面不需要放分號。(K&R時期引入)
??? else:條件語句否定分支(與if連用)。(K&R時期引入)
??? switch:開關語句(多重分支語句)。(K&R時期引入)
??? case:開關語句中的分支標記,與switch連用。(K&R時期引入)
??? default:開關語句中的“其他”分支,可選。(K&R時期引入)
七、編譯
? #define 預編譯宏
??? #if 表達式 #else if 表達式 #else #endif 條件編譯
??? #ifdef 宏 #else #endif 條件編譯
??? #ifndef 宏 #else #endif 條件編譯與條件編譯
轉載于:https://www.cnblogs.com/qubo520/p/6924721.html
總結
以上是生活随笔為你收集整理的C/C++语言简介之关键字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 4407 于神之怒加强版
- 下一篇: linux中级-JAVA企业级应用TOM