C語言基礎知識(3)

2021-10-11 01:27:19 字數 792 閱讀 8524

型別定義,即型別重新命名

#include

int main()

修飾區域性變數–靜態區域性變數,靜態區域性變數的生命週期邊長

修飾全域性變數–靜態全域性變數,改變了作用域,靜態全域性變數只能在自己所在的原始檔內部使用

修飾函式==靜態函式,改變了函式的鏈結屬性(外部鏈結屬性)—> 變成了內部鏈結屬性

#include

void test()

int main()

return 0;

}#define max (x,y) (x>y?x:y)//定義巨集

int main()

每個記憶體單元的大小是乙個位元組

為了能夠有效訪問記憶體的每個單元,給記憶體單元進行了編號,這些編號就是記憶體單元的位址

#include

int main()

指標大小:32位平台是4個位元組,64位平台是8個位元組

#include

struct book

;int main()

;//struct book*pb = &b1;

printf(「書名:%s\n」,b1.name); 同理 用指標 //printf(「書名:%s\n」,(*pb).name);

printf(「**:%d\n」,b1.price); //printf(「**:%d\n」,(*pb).price);

return 0;

}同理,用操作符

//printf(「書名:%s\n」,pb->name);

//. 結構體變數.成員

//-> 結構體指標->成員

C語言基礎知識(小白必備)(3)

11.常見關鍵字 1.typedef 型別定義,即型別重新命名 include int main 2.static 修飾區域性變數 靜態區域性變數,靜態區域性變數的生命週期邊長 修飾全域性變數 靜態全域性變數,改變了作用域,靜態全域性變數只能在自己所在的原始檔內部使用 修飾函式 靜態函式,改變了函式...

C語言基礎知識

1 的問題。int i 1 int j 2 int k i j printf d k 輸出k為3。編譯原理有關編譯器在詞法解析的時候,對於運算子,總是查詢最大的匹配也就是說,i j,編譯器在找到 的時候,它不立即理解為 而是繼續下乙個字元,下乙個字元仍然是 可以組成 再往下的話便是 不成立了。所以i...

C語言基礎知識

一 位元組對齊 位元組對齊的原因,是機器在訪問記憶體中儲存的資料的高效性。通常機器是機器位數為自然邊界來訪問記憶體的,如果乙個4位元組整形數,所在的記憶體不在虛擬記憶體的自然邊界。則cpu需要讀多於一次的資料,這樣就降低了效率。所以,簡單地說,就是保證cpu指令在訪問資料的時候,能一次讀取,而不需要...