C/C++——#define和const的區別

#define命令來定義符號常量

在C語言中常用#define命令來定義符號常量:#define PI 3.14159

實際上,只是在預編譯時進行字符置換,把程序中出現的字符串PI全部換成3.14159。在預編譯之後,程序中不再有PI這個標識符。PI不是變量,沒有類型,不佔用存儲單元,而且容易出錯。

const定義常變量

C++提供了用const定義常變量,如:const float PI = 3.14159;

定義了常變量PI, 它具有變量的屬性,有數據類型,佔用存儲單元,有地址,可以用指針指向它,只是在程序運行期間的值是固定的,不能變。它方便易用,避免了用#define定義符號常量時出現的缺點。因此,const 問世後,已取代了用#define定義符號常量的作用。一般把程序中不允許改變值的變量定義爲常量。const 可以與指針結合使用,有指向常變量的指針,常指針,指向常變量的常指針等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章