C語言的一些基礎

2022-09-13 18:12:09 字數 1512 閱讀 2695

一、c語言基礎:

1.1、main函式是入口函式,用於進行link。

1.2、.sln是解決方案的管理檔案。

1.3、int:32位、short:16位、long:32位、long long:64位。

1.5、巨集的使用時很不安全的。

1.6、常量名字的命名規則是:全大寫。

1.7、明示常量存在於:(、)

1.8、反彙編中的 表示取值的意思。

1.9、auto:

1、編譯器預設的區域性變數分配的方式。

2、在棧區當中分配空間。

3、全域性變數無法使用。

1.10、atatic:

1、儲存在程式的靜態區:只會初始化一次。

2、修飾全域性變數:作用為檔案當中,其他檔案無法使用。

3、可以修飾函式。

4、控制作用域:有無限生命週期的區域性變數。

1.11、register:

2、僅僅發出請求不一定成功。

3、全域性變數無法使用:會導致長期占用暫存器。

1.12、作用域:是對於語法層次來說的。c語言當中一般以乙個大括號{}表示乙個作用域。

1.13、變數名的本質是記憶體空間的乙個別名,可以使用這個別名進行記憶體空間的訪問。

1.14、enum:

1、定義常量值。

2、和#define的區別:只是替換,無法除錯、沒有型別資訊。

1.15、struct:

1、大小:進行資料對齊、如果是乙個空的結構體的話,會出錯(未定義的行為)。

2、使用場景:柔性陣列。

1.16、union:

1、大小:共享空間、只分配最大的空間。

2、使用場景:判斷大小端。

1.17、void* :位址+大小 = 萬能指標,他能夠給我們提供一種資料抽象的能力。可用於任何的指標型別。

1.18、c中的貪心演算法:乙個表示式會被逐一的掃瞄解析。

1、編譯器在將**編譯成彙編**

1.21、巨集:

1、在進行預處理的時候被展開。

2、到編譯階段所有的巨集已經被展開了。

3、巨集只是純粹的做乙個替換。

4、巨集是不存在作用域一說的,只要在巨集定義之後的**中使用都是可以的。

1.22、預編譯:

1、預編譯指令控制的是**。

2、錯誤提示預編譯指令:#error、#warning。

3、設定檔名及行號:#line。

4、預編譯指示字:#pragma、不同的c語言編譯器對他的理解是不同,這是沒有標準的、是不具備移植性(但是不影響程式的執行)、

並非作用於**,主要的作用是只是編譯器來完成特使的指令、#pragrma message(這個是vs特有)、

1.23、資料對齊:

1、#pragma pack()開始 -> #pragrma pack()結束,這是一對的。

2、第乙個括號中資料對齊的大小(數字1、2、4、8、16、32),如果不填的話就是預設值,預設值是4。

3、總長度必須能夠整除結構中的所有的對齊引數。

4、對齊引數是:取pack和型別大小中小的那個。

C語言的一些基礎

一 c語言基礎 1.1 main函式是入口函式,用於進行link。1.2 sln是解決方案的管理檔案。1.3 int 32位 short 16位 long 32位 long long 64位。1.5 巨集的使用時很不安全的。1.6 常量名字的命名規則是 全大寫。1.7 明示常量存在於 1.8 反彙編...

C語言一些基礎語法

1,程式中以 開頭的語句成為預處理命令 2,實型常量 小數形式,指數形式 字元常量 a 字串常量 a 雙引號 3,ddd 1 3位八進位制數所代表的ascii碼 xhh 1 2位十六進製制數所代表的ascii碼 0 空字元 4,sizeof 求位元組數運算子 sizeof double 表示求雙精度...

C語言基礎 一些C語言小程式(一)

1,請把從1到1000的數列印出來,不能使用任何的迴圈語句或是條件語句 include void func int i void func int i int main 2,向乙個有序的單鏈表中插入乙個新的節點 include include typedef struct node node int...