'型別轉換': 基本上就只是在變數/函數前面加一對小括號, 中間填入要轉成什麼型別, 像這個樣子 "(型別)", 例如:
(unsigned char *)ptr
看不出哪一點難, 對吧
不過在實際運用上, 經常會有其他運算元的干擾, 使我們不容易看出式子的意義, 因此我自己寫了二個 macro, 使用上還算方便清楚.
MagicJackTing 發表在 痞客邦 留言(0) 人氣(8,431)
MagicJackTing 發表在 痞客邦 留言(0) 人氣(513)
本文來自網站 ieng9.ucsd.edu (http://ieng9.ucsd.edu/~cs30x/rt_lt.rule.html) 加以重新排版.
呃… 它搬家了, 新網址如後: cseweb.ucsd.edu (http://cseweb.ucsd.edu/~ricko/rt_lt.rule.html)
MagicJackTing 發表在 痞客邦 留言(10) 人氣(8,328)
在系統在整合或移值時最常用的就是以巨集來置換一些底層 function. 這類的技巧叫 wrapper (意思是包裝紙)
但是在面對像 printf() 或者 scanf() 之類參數個數可變 (或稱不具名參數) 的函數, 就出現只能更換函數名稱, 而無法增減參數個數的冏境, 例如:
// 下例 OK, 但是無法處理參數的異動
#define printf my_printf
// 下例 OK, 但是只能處理剛好二個參數的異動 (增加, 交換)
#define printf(a, b) my_printf(x, b, a)
// 下例 ERR, C 編譯器的 preprocessor 不認識 ...
#define printf(a, b, ...) my_printf(x, a, b, ...)
MagicJackTing 發表在 痞客邦 留言(0) 人氣(15,120)
C 語言呼叫副程式時, 支援非固定個數參數傳遞. 即所謂的不具名的變動參數.
不具名的變動參數以 ... 代表之, 並且至少需要一個具名參數. 因此 ... 的前面至少要有一個參數. 超過一個的部份也都是此函數的固定參數. 下例為不具名變動參數的樣板.
MagicJackTing 發表在 痞客邦 留言(0) 人氣(5,780)

Keil C51 特定功能
1. 如何產生 'RLC A' 指令: (Keil C51 適用)
MagicJackTing 發表在 痞客邦 留言(4) 人氣(27,241)