編碼小技巧

2021-04-19 01:26:28 字數 644 閱讀 3614

1.

#define abc() dowhile(0)

#define abc() do

在核心中經常見到第一種用法,第一種用法和第二種用法的區別在**呢?看下面的例子

例一:if (a)

abc();

else

...例二:

abc();

例一中如果我們將巨集寫成第二種形式,編譯時會得到乙個編譯錯誤。例二中如果我們寫成第二種形式,在編譯時警告級別夠高的情況下會得到乙個編譯警告。

2.!!x, 比較簡單,但比較巧妙的用法。

3.#define xc(a, b) ()

該巨集比較奇特之處在於該巨集有返回值,為括號內最後一句話的返回值。例如:

c = xc(a, b)

執行完後c將是執行前a的值。

4.#define list_entry(ptr, type, member) /

container_of(ptr, type, member)

#define container_of(ptr, type, member) ()

舉個例子說明這個巨集的用法

typede struct

struct_1;

int main()

可以通過s1.b的位址來找到s1的位址。

編碼小技巧

a codementor print reverse is a 1 翻轉後的結果為 rotnemedoc mat 1,2,3 4,5,6 zip mat 1,4 2,5 3,6 a 1,2,3 將列表中的三個元素分拆成三個變數 a 1,2,3 x,y,z a x1 y2 z3a code mento...

C C 編碼技巧

宣告 其中有些內容並不是本人原創,而是學習的別人的經驗,或者是從書上看到的總結在此,既然拿出來共享,本人不再區分本人原創部分,而且有些技巧已經是眾所周知,或者已經用了很長時間了,也弄不清出處了,這些對原創者一併給予感謝!1.char str 20 char cp str 2 這樣比使用 char c...

css編碼技巧

一 儘量減少 重複 二 使用一些技巧再通過少許的 查詢實現響應式。這些技巧包括 1 使用百分比來代替固定寬度。如果實在做不到這一點可以使用與視口相關的單位 vw,vh,vmin,vmax 2 當需要在較大解析度下得到固定的寬度時,使用max width而不是width,因為它可以適應較小的解析度而無...