C 常量的問題

2021-08-08 04:51:57 字數 869 閱讀 7801

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 也是一條預處理命令 預處理命令都以 開頭 稱為巨集定義命令,其功能是把該識別符號定義為其後的常量值。一經定義,以後在程式中所有出現該識...