c的幾點易錯點,知識點梳理
a. struct test
int a;
int b;
};這是自己定義了乙個結構體。
b. struct test
int a;
int b;
}test;這是自己定義了乙個結構體的同時,還申請了乙個結構體變數,名字是
test。
c. typedef truct test
int a;
int b;
}test;這個可以看成三部分,型別定義
typedef
,型別,替換名。
2.switch (表示式) 從表達
式值等於某個case語句後的值開始,它下方的所有語句都會一直執行,直到遇到乙個break為止。假如任何乙個case語句的值都不等於表示式的值,就執行可選標籤default之下的語句。
3.在面試中常常會考到
sizeof(
變數名)
,在面對這種提問時,應該考慮到的時,變數名代表著什麼?
例:int ar[5]
ar+1和
&ar+1
這兩種情況的區別是,你必須搞清楚他們代表著什麼,
ar+1
是陣列首位址,
+1會加陣列型別位元組大小,但
&ar代表著陣列指標,
&ar+1
會增加陣列空間大小。
4.float area(float r=6.5);
指定r的預設值為
6.5,如果在呼叫此函式時,確認
r的值為
6.5,則可以不必給出實參的值,如
area( );
//相當於
area(6.5);
如果不想使形參取此預設值,則通過實參另行給出。如area(7.5); //形參得到的值為
7.5,而不是
6.5這種方法比較靈活,可以簡化程式設計,提高執行效率。
如果有多個形參,可以使每個形參有乙個預設值,也可以只對一部分形參指定預設值,另一部分形參不指定預設值。
還有一點是,int a = int(),這個解釋為將
a賦值為
0.
C易錯知識點
參考酷客網,對其進行了簡單整理 1 下面的程式並不見得會輸出 hello std out 你知道為什麼嗎?include include intmain return 0 參 stdout 和stderr 是不是同裝置描述符。stdout 是塊裝置,stderr 則不是。對於塊裝置,只有當下面幾種情...
C的幾點知識點總結
1.i1和i 的效率分析 想必前加和後加,日常程式設計會用到很多,但你是否考慮過他們的效率比較,在for 迴圈中也常常用到自加。int increment 這段 就是編譯器的實現前加加的函式 可以腦補,後加加函式必須控制變數在遇到 或 才會自加,需要的 步驟更多 所以前加加的效率更高,在特別要求效率...
C 易錯知識點歸納
物件導向開發的四大特性 三字元組 內建型別所佔記憶體大小 單位 位元組 typedef 為乙個已知型別取新名字 列舉 派生資料型別,只有賦值運算子沒有定義算術運算 變數命名 字母 下劃線開頭,可以有數字,不能有標點符號。大小寫敏感。變數宣告 未開闢空間。extern實現,若在其後賦初始值便為定義。變...