一、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...