專業(yè)網(wǎng)站開發(fā)哪家公司好深圳百度推廣聯(lián)系方式
一、數(shù)據(jù)類型關(guān)鍵字(20個)
基本數(shù)據(jù)類型(5個)
void:聲明函數(shù)無返回值或無參數(shù),聲明無類型指針,顯式丟棄運算結(jié)果
char:字符型類型數(shù)據(jù),屬于整型數(shù)據(jù)的一種
int:整型數(shù)據(jù),通常為編譯器指定的機器字長
float:單精度浮點型數(shù)據(jù),屬于浮點數(shù)據(jù)的一種
double:雙精度浮點型數(shù)據(jù),屬于浮點數(shù)據(jù)的一種
int型變量 a_test 存儲在RAM中的起始地址為0x20000014,占內(nèi)存空間 4 個字節(jié)。
char型變量 c_test 存儲在RAM中的起始地址為0x20000018,占內(nèi)存空間 1 個字節(jié)。
int * 型變量 p 存儲在RAM中的起始地址為0x2000001c,占內(nèi)存空間 4 個字節(jié)。
char * 型變量 p2 存儲在RAM中的起始地址為0x20000020,占內(nèi)存空間 4 個字節(jié)。
類型修飾關(guān)鍵字(4個)
short:修飾int,短整型數(shù)據(jù),可省略被修飾的int。
long:修飾int,長整形數(shù)據(jù),可省略被修飾的int。
signed:修飾整型數(shù)據(jù),有符號數(shù)據(jù)類型
unsigned:修飾整型數(shù)據(jù),無符號數(shù)據(jù)類型
復(fù)雜類型關(guān)鍵字(5個)
struct:結(jié)構(gòu)體聲明
union:共用體聲明
enum:枚舉聲明
typedef:聲明類型別名
sizeof:得到特定類型或特定類型變量的大小
存儲級別關(guān)鍵字(6個)
auto:指定為自動變量,由編譯器自動分配及釋放。通常在棧上分配
static:指定為靜態(tài)變量,分配在靜態(tài)變量區(qū),修飾函數(shù)時,指定函數(shù)作用域為文件內(nèi)部
register:指定為寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數(shù)形參,建議編譯器通過寄存器而不是堆棧傳遞參數(shù)
extern:指定對應(yīng)變量為外部變量,即在另外的目標(biāo)文件中定義,可以認(rèn)為是約定由另外文件聲明的對象的一個“引用“
const:與volatile合稱“cv特性”,指定變量不可被當(dāng)前線程/進(jìn)程改變(但有可能被系統(tǒng)或其他線程/進(jìn)程改變)
volatile:與const合稱“cv特性”,指定變量的值有可能會被系統(tǒng)或其他進(jìn)程/線程改變,強制編譯器每次從內(nèi)存中取得該變量的值
二、流程控制關(guān)鍵字(12個)
跳轉(zhuǎn)結(jié)構(gòu)(4個)
return:用在函數(shù)體中,返回特定值(或者是void值,即不返回值)
continue:結(jié)束當(dāng)前循環(huán),開始下一輪循環(huán)
break:跳出當(dāng)前循環(huán)或switch結(jié)構(gòu)
goto:無條件跳轉(zhuǎn)語句
分支結(jié)構(gòu)(5個)
if:條件語句
else:條件語句否定分支(與if連用)
switch:開關(guān)語句(多重分支語句)
case:開關(guān)語句中的分支標(biāo)記
default:開關(guān)語句中的“其他”分治,可選。
循環(huán)結(jié)構(gòu)(3個)
for:for循環(huán)結(jié)構(gòu),for(1;2;3)4;的執(zhí)行順序為1->2->4->3->2...循環(huán),其中2為循環(huán)條件
do:do循環(huán)結(jié)構(gòu),do 1 while(2);的執(zhí)行順序是1->2->1...循環(huán),2為循環(huán)條件
while:while循環(huán)結(jié)構(gòu),while(1) 2;的執(zhí)行順序是1->2->1...循環(huán),1為循環(huán)條件
注:以上循環(huán)語句,當(dāng)循環(huán)條件表達(dá)式為真則繼續(xù)循環(huán),為假則跳出循環(huán)。在C語言中,把0作為false假,非0為true真。
三、C99新增(5個)
inline:內(nèi)聯(lián)函數(shù),是為了解決C 預(yù)處理器宏存在的問題所提出一種解決方案,用來提高函數(shù)使用效率。內(nèi)聯(lián)函數(shù)使用inline關(guān)鍵字定義,并且函數(shù)體和申明必須結(jié)合在一起, 否則編譯器將他作為普通函數(shù)對待。
restric:關(guān)鍵字只用于限定指針;該關(guān)鍵字用于告知編譯器,所有修改該指針?biāo)赶騼?nèi)容的操作全部都是基于(base on)該指針的,即不存在其它進(jìn)行修改操作的途徑;這樣的后果是幫助編譯器進(jìn)行更好的代碼優(yōu)化,生成更有效率的匯編代碼。
Bool:布爾類型,用來表示真或假,零表示假,非零表示真。所有非零的數(shù)賦值給布爾型變量,最終的值還是1,包含標(biāo)準(zhǔn)頭文件 stdbool.h 后,我們可以用 bool 代替 _Bool ,true 代替 1 ,false 代替 0?
_Complex:表示復(fù)數(shù),復(fù)數(shù)類型包括一個實部和一個虛部
_Imaginary:表示虛數(shù),虛數(shù)類型沒有實部,只有虛部