-
預處理:頭文件展開和宏定義替換;
宏定義替換:將代碼中宏定義做“字符串”替換,
查看全部 -
共用體
查看全部 -
結構體指針
查看全部 -
結構體使用
查看全部 -
結構體使用
查看全部 -
預處理查看全部
-
編譯四步驟查看全部
-
遞歸的本質:講一個問題規模為n的問題,轉化成問題規模為n-1的問題,然后依次降階,直到問題規??汕?,得到低規模問題的解,然后代入高階的問題中,最后求得高階問題的解。查看全部
-
可以定義一些push類型的數據,就是其他高級語言的做法查看全部
-
左移n位,就是乘以2的n次方查看全部
-
按位異或:交換數值。 a=a^b; b=a^b; a=a^b;查看全部
-
一個結構體占用的大小不是簡單的結構體所有成員的大小,需要對齊。 struct X { char a; // 1 bytes char padding1[3]; // 3 bytes float b; // 4 bytes int c; // 4 bytes char padding2[4]; // 4 bytes double d; // 8 bytes unsigned e; // 4 bytes char padding3[4]; // 4 bytes }; padding1的存在是因為,offset(b)必須能夠被align(b)整除,所以塞三個charpadding2的存在是因為,offset(d)必須能夠被align(d)整除,所以塞4個char對于所有基本類型,align(T)==sizeof(T),所以有了上面兩條,那align(X)是多少呢?當然就是所有成員里面align最大的那個,是align(d)==8好了,因此sizeof(X)必須能夠被align(X)整除,就有了padding3。 作者:vczh 鏈接:https://www.zhihu.com/question/28958350/answer/42692985 來源:知乎 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。查看全部
-
三種訪問結構體成員的方法; 結構體指針, 結構域體數組指針查看全部
-
‘.’成員運算符,在所有運算符中優先級最高。查看全部
-
typedef(是個關鍵字)并不在預編譯里,作用是給變量類型其別名,需要以‘;’結尾。 容易與宏定義混淆。 宏作用域起始于定義位置,結束于文件結尾,而typedef是根據所在代碼位置決定作用域的。查看全部
舉報
0/150
提交
取消