當前位置:才華齋>計算機>C語言>

C語言基本知識整理

C語言 閱讀(2.64W)

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 條件編譯與條件編譯