C語言基礎知識

2021-08-28 21:07:02 字數 1608 閱讀 6641

筆試:

char資料型別佔幾個位元組?

在32位windows系統下,佔1個位元組(附加前提)

a.字面常量

b.const修飾的常量(不可修改)

c.#define定義的常量

d.列舉常量  eg:

enum ***

;

把一組型別相同的變數放在一起,通過[ ]的方式取出陣列中的第n個元素(從零開始計數,n成為陣列下標/陣列索引)

訪問陣列下標時,必須保證下標在有效範圍之內[0,size),若下標超出有效範圍,此時程式就是「未定義行為」。

把一堆字元字元放在一起(字元陣列)

字串字面值

#include #include int main()
筆試:

#include #include #include int main()
\32(ascii值為32的字元)和兩個\t被解析成乙個轉義字元,列印的結果為:

輸入一些資料,返回一些結果

函式定義時,引數x、y叫做形參

函式呼叫時,按照引數的順序把實參的內容傳到對應的形參中

#include #include #include int add(int x,int y)

int main()

修飾區域性變數時,區域性變數的生命週期變為全域性的生命週期,但是其並不影響變數的作用域

修飾全域性變數時,全域性變數的作用域僅限於當前.c檔案

修飾函式時,函式的作用域僅限於當前.c檔案中使用

儲存的資料含義是記憶體的乙個位址,指標完全可以當做乙個普通的整數,該整數具有的特定含義——記憶體上的位址

eg:  int* p =&a;(int* 基本變數型別)

p變數的型別是指標,存的內容為位址;int型別的指標位址中的內容是乙個int型別的變數

在32位系統下,乙個指標大小佔4個位元組;在64位系統下,乙個指標大小佔8個位元組;

本質上是自定製型別,其含義根據具體的應用場景決定,自定製結構體中的內容由內建型別/其他自定製型別構成

#include #include struct student;

int main();

struct student li;

printf("%s,%s\n",zhang.name,li.name); 中的. 取結構體中的某乙個成員/屬性

system("pause");

return 0;

}

#include #include typedef struct student stu;

int main();

stu li;

printf("%s,%s\n",zhang.name,li.name); 中的. 取結構體中的某乙個成員/屬性

system("pause");

return 0;

}

以上兩種程式是等價的,可用typedef將結構體重命名。

C語言基礎知識

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

C語言基礎知識

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

C語言基礎知識

1.進製 1 基數 基數為n,代表n進製 2 位權 從個位開始,向左依次編號為0,1.x 分別代表n進 制的x次 3 八進位制以0開頭,十六進製制以0x開頭 4 x 進製轉 進製 按權求和 十進位制轉 x進製 連除倒取餘 2.基本資料型別 3.常量 程式執行期間值不能被改變的量 分為 整型常量,浮點...