C的幾點易錯點,知識點梳理

2021-08-01 10:27:51 字數 1177 閱讀 6651

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實現,若在其後賦初始值便為定義。變...