※ 引述《cixooo.bbs@bbs.ntit.edu.tw (擎羊嘯天)》之銘言:
: #define PI 3.14
這是在preprocessor裡面處理的
: const float PI=3.14
這是當成一個id在compiler裡面處理的
: 對我們來說都是將PI設定成常數
: 那對c編譯器來說有什麼不一樣呢?
用#define就是單純的字串置換
compile過後如果有出現名稱衝突之類的錯誤可能不會顯示出來,要你自己找
所以#define的常數常常都取一些很彆扭或很長的名字來避免這種狀況
用const的話是當成一般的變數處理的,就算有名稱衝突也會有個優先順序
用起來會比較方便
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.162.231.87