1樓:匿名使用者
都能實現,比如:
#define max 100
const int max=100;
他們還是有些區別的:
#define不是定義!只是巨集替換,編譯前預處理程式會把**中的max替換為100.
而const是定義了乙個變數,這個變數執行中不能更改,它是有型別的。
老的習慣都有#define,但有些高手建議用const。其實只要理解它們的區別,用什麼看自己的了,使用者之妙,存乎一心!
2樓:
#define a 1
在預編譯時,將所有a出現的位置替換為1
而const int a = 1;
在編譯時才確定
用define定義常量時,發生編譯錯誤,提示1附近有錯而用const 定義常量,則提示變數a附近有錯用const 定義常量,方便差錯
其他區別就不清楚了
3樓:匿名使用者
兩者都可以宣告常量,但是用法還有許多不同。你可以去搜搜,我這裡簡單說說。
define巨集定義是直接的替換,並沒有做型別檢查。他除了定義常量,還可以定義函式之類的。巨集定義是在編譯之前就完成的預處理。
而const定義的是乙個不能被更改的變數,具有許多其他的意義。
4樓:匿名使用者
效果是不一樣的,const是真正的變數,#define只是在**層面上的替換而已,只在**中存在下,程式執行時就沒有了.
5樓:匿名使用者
你說的對,沒有區別,就像是爬山,兩條路都可以
6樓:匿名使用者
都是一樣的!
習慣問題!
vb常量問題
看來你沒搞清楚什麼是常量。通俗來講,常量就是把一些在程式中經常要用到的資料用乙個名稱來指代,然後在需要使用這些資料的時候直接使用這個名稱就行了,目的是為了簡化 的編寫,以及增強 的可讀性。比如 const x as single 123.4現在這個x就代表了123.4,它就是個常量。又比如如果在程式...
c語言問題,有兩個問題,符號常量在整個程式中其值都不能再被重新定義?這個為什麼不對
coust int n 100 這個是常量,無法被修改.分割線 int i 100,j 200 coust int p i 常量符號可以重新定義它的位址p j 編譯通過 常量就是右值,它在記憶體中沒有它的空間,也就不能改變它的值,或者可以這麼說,你就算改變了它也沒有任何價值,而且這樣會對程式的一些地...
常變數和符號常量的區別,C語言裡符號常量和常變數有什麼區別?
符號常量 在c語言中,可以用乙個識別符號來表示乙個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為 define 識別符號 常量 其中 define 也是一條預處理命令 預處理命令都以 開頭 稱為巨集定義命令,其功能是把該識別符號定義為其後的常量值。一經定義,以後在程式中所有出現該識...