筆試:
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.常量 程式執行期間值不能被改變的量 分為 整型常量,浮點...