C語言的一些奇技淫巧(1)巢狀語句

2021-10-01 11:24:31 字數 898 閱讀 1709

2. list_for_each_safe() 原始碼例子

參考此句中, i<3 && (); 是乙個語句,

後面 () 是乙個復合語句

這句無論j=1 怎麼變,都是最後一句 true 為真。

所以真正的還是前面i<3 成立即可

/**

* list_for_each_safe - iterate over a list safe against removal of list entry

* @pos: the &struct list_head to use as a loop counter.

* @n: another &struct list_head to use as temporary storage

* @head: the head for your list.

*/原始碼:

#define list_for_each_safe(pos, n, head) \

for (pos = (head)->next, n = pos->next; pos != (head); \

pos = n, n = pos->next)

修改如下:

#define list_for_each_safe(pos, n, head) \

for (pos = (head)->next; (pos != (head) && ( ) ); \

pos = n, n = pos->next)

重點: (pos != (head) && ( )

這是乙個復合語句,後面總是true,為了讓本次迴圈只要前面true就執行下去

遍歷時用n 接住下乙個節點,防止pos 刪除操作導致找不到節點了

Puppet的一些奇技淫巧

puppet這個工具真的很神奇,先不說商業版有哪些黑科技,單是開源版本就有很多可能讓你摸不著頭腦的地方,下面來列舉一下puppet是怎麼查詢puppet server的 其實很簡單,puppet agent只要知道puppet是什麼就可以了,你可以將 puppet 寫在 etc hosts裡,比如 ...

JS陣列一些奇技淫巧 全

js陣列有許多暴露了api,作為使用者,不僅要會用還要熟練,下面給大家帶來億點點api以及使用技巧供各位嫖客 我也是?享用。先來個資料備忘錄怎麼樣 盜竊位址 本文大部分內容是以上位址,當然也有本人的補充 上圖的補充 every,some 返回的是布林值,表示每個都滿足,或者存在滿足 find fin...

一些談話的技巧 絕非奇技淫巧

要是你以為單憑熟練的技能和辛勤的工作就能在職場上出人頭地,那你就有點無知了。當然,才幹加上超時加班固然很重要,但懂得在關鍵時刻說適當的話,那也是成功與否的決定性因素。卓越的說話技巧,譬如討好重要人,更能讓你名利雙收。牢記以下十個句型,並在適當時刻派上用場,加薪與公升職必然離你不遠。雖然公升職,加薪是...