1. 定義巨集 #define sqr(x) (x)*(x)
2. 定義符號 symbol 例如: #define PI 3.14
所以 #define PI 3.14 與 float PI=3.14 有何不同?
ans:
使用 define 只是定義了一個 symbol 不佔memory 空間
在編譯前,預先處理器(Preprocessor) 先進行處理,將程式碼中出現的 PI
代換成 3.14 後再丟給編譯器進行 compile。
而使用 float 宣告的變數,會佔記憶體空間(4bytes) 其值為 3.14
--
那麼談談 Preprocessor 的用途吧
1. 引入 inclusion file → #include
2. 處理 conditional compilation → #ifdef / #if / #endif ...
3. macro 代換成 code → #define PI 3.14
沒有留言:
張貼留言