- 相關推薦
C語言基本知識整理
C語言提供了許多低級處理的功能,保持著良好跨平臺的特性,下面小編為大家整理了一些C語言的基本知識,一起來看看吧:
基本數據類型
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 條件編譯與條件編譯
【C語言基本知識整理】相關文章:
C語言基本知識06-27
C語言段位操作知識整理07-09
C語言基本知識點歸納07-25
2017年計算機二級C語言C語言基本知識10-22
C語言中進制知識匯總整理09-06
計算機二級C語言《基本知識》考點06-14
2015年計算機二級考試C語言復習重點:C語言基本知識(上)09-23
2015年計算機二級考試C語言復習重點:C語言基本知識(下)06-11
2017年計算機二級C語言基本知識09-22
C語言和C++的區別09-19