1.結構體的計算
//struct bbb*p;//sizeof(struct bbb)=16;
//int main()
//2.結構體中結構體,共用體中結構體的大小
//union aaahalf;
// short kk;
//}number;
//struct bbbhalf;
//struct tagccc
//half;
// long kk;
//};//結構體是個整體按4對齊6+4=10,short和long中最大所佔位元組為4,4的整數倍為12
//int main()
//執行結果:
1位元組對齊:4 6 8
4位元組對齊:6 8 12
3.如果case語句中沒有break,那麼它之後的語句都會被執行。
4.指標和const的宣告:
(1)指標所指物件是可讀的
const int *p;
int const *p;
(2)指標是可讀的
int *const p;
(3)指標和指標所指物件都是可讀的
const int * const p;
int const *constp;
5.動態開闢
void getmemory(char *p,int len)
int main()
上述**有三處錯誤!!!
a.此時呼叫函式p動態開闢和主函式p所指不是同乙個地方,因為p只是臨時拷貝,沒傳位址過去。
b.strcpy,出現錯誤,此時p無指向。
c.free時並未將其開闢(臨時變數)的釋放,且應在free後讓指標指向空。
正確**為:
void getmemory(char **p,int len)
int main()
C易錯知識點
參考酷客網,對其進行了簡單整理 1 下面的程式並不見得會輸出 hello std out 你知道為什麼嗎?include include intmain return 0 參 stdout 和stderr 是不是同裝置描述符。stdout 是塊裝置,stderr 則不是。對於塊裝置,只有當下面幾種情...
C 易錯知識點歸納
物件導向開發的四大特性 三字元組 內建型別所佔記憶體大小 單位 位元組 typedef 為乙個已知型別取新名字 列舉 派生資料型別,只有賦值運算子沒有定義算術運算 變數命名 字母 下劃線開頭,可以有數字,不能有標點符號。大小寫敏感。變數宣告 未開闢空間。extern實現,若在其後賦初始值便為定義。變...
Java 易錯知識點
1 以下程式執行的結果是 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 classx classy publicclasszextendsx publicstaticvoidmain string args zyxx zyxy yxyz xyz...