常量與變數的區別,常量和變數的區別

2021-04-21 21:50:26 字數 3151 閱讀 3328

1樓:咩咩咩無名小豬

數學中表徵襲

事物量的一對概bai念。

在事物的特du定運動過程中,某量若zhi保持不變,則稱dao之為常量。

反之,則稱之為變數,在生活中有廣泛運用。

數學的研究物件從常量進到變數的過程表明,人們對事物數量關係的研究已經從靜止的、孤立的觀點轉變到運動和聯絡的觀點。

這種思維方式的改變反映出辯證法已經進入了數學。

正如恩格斯所說,數學中的轉折點是笛卡爾的變數,變數數學本質上不外是辯證法在數學方面的運用。

2樓:匿名使用者

常量是在程式運算過程中不變的量。 常量在程式中經常直接出現,如123、3.14159、『a』、專「computer」,此時只要求它們符合相應屬型別資料的表示方法。相應於各種資料型別,有整型常量、浮點型常量、字元型常量及字串常量。

常量定義是指定義符號常量,用一個識別符號來代表一個常量,通過巨集定義預處理指令來實現。 格式:#define 識別符號常量 由使用者命名的識別符號是符號常量名。

作為符號常量名,一般大寫。一旦定義,在程式中凡是出現常量的地方均可用符號常量名來代替。 對使用了符號常量的程式在編譯前會以實際常量替代符號常量。

例:#define pi 3.14

變數描述較多

3樓:滄海雄風

常量一般是bai指通過巨集定義、const修飾

du而得到的,另外zhi,像1,10,1.25f,1.36d這樣的數

dao值也是常量。ps:後面版的f,d表示該數值是float,double型別的權,欲知更多有關這方面的只是,請參考《c primer plus》。

e.g. #define max 32767 //這樣就通過巨集定義了一個max常量

const int max 32767; //通過const關鍵字修飾符定義了一個整形常量max

const float pai 3.1415926; //通過const關鍵字修飾符定義了一個浮點型常量pai

char *const ptr = 0x12345678; //通過const關鍵字修飾符定義了一個指標常量

除了以上情況,在c語言中見到的除函式名,關鍵字等以外的合法識別符號,均為變數識別符號。

區別:常量是定義時可以對其設定值(數值常量除外),而在其後的任何時刻都不可以改變其值的量。

變數是可以在定義後的任何時刻改變其值的量。

4樓:匿名使用者

常量不會變 變數會變

常量和變數的區別

5樓:幾米要環遊世界

常量bai和變數的區別:變

du量是「可讀、可寫」,而常zhi量是dao「只讀」的。

變數是在程式內執行過容

程中,內部儲存的值,隨時可以被改變的一段記憶體地址。比如:int a = 123,這裡的a就是一個整型變數,通常情況下,整型變數佔據著4個位元組的記憶體。

常量在程式執行過程中,所表示的值是無法被改變的。比如:const int a = 123, 這裡的a,在其前面有一個修飾符「const」,表示a的值是「只讀」的。

6樓:紅山人

常量就是不變的量,可以是數值,字元,各種符號.

7樓:匿名使用者

資料型別就像:整數,單精度小數,雙精度小數……

變數:就像數學中的變數x,y……注意:他們的值是可以改變的

常量:也像數學中的常量 a,b……,值一旦給定後就不變

常量和常變數有什麼區別沒

8樓:夢heart兒

1、佔用空間不同

常量bai不佔用記憶體空間,du

在預編譯時就全部由zhi符號dao常量的值替換了內,而常變數佔用記憶體空間,容只是此變數在存在期間不能重新賦值。

2、能否在計算中改變

常量在計算機程式執行時,不會被程式修改的量。常變數在運算時時是指賦予的一系列值,所以常變數值不是唯一的。

擴充套件資料

在除了『c/c++』的一些高階程式語言中,「常量」可以被稱作,「在一個資訊變化過程中,始終不發生改變的量」,其可以是不隨著時間變化的某些量的固定資訊;也可以表示為某一數值的字元(或字串),常被用來標識、測量和比較兩者的差異。

但在 『c/c++語言中』,『常量』如果還用『執行過程中不變的量』來描述,就顯得不準確,甚至是在具體使用時,這就是一個錯誤的概念。

在 『c/c++』中,定義『指標常量』時,根據『const 』的位置的不同,可以定義出幾個不同的形式,雖然其看起來『符合常量的概念』,但是在實際執行中,其值或地址值是會發生變化的。所以本質還不是『常量概念』。

9樓:匿名使用者

區別1define是巨集定義bai,程式在預處理階du段將用define定義的zhi

內容進行了替換dao。因此程式版執行時,常權

量表中並沒有用define定義的常量,系統不為它分配記憶體。

const定義的常量,在程式執行時在常量表中,系統為它分配記憶體。

區別2define定義的常量,預處理時只是直接進行了替換。所以編譯時不能進行資料型別檢驗。

const定義的常量,在編譯時進行嚴格的型別檢驗,可以避免出錯。

區別3define定義表示式時要注意「邊緣效應」,例如如下定義:

#define n 2+3 //我們預想的n值是5,我們這樣使用n

int a = n/2; //我們預想的a的值是2.5,可實際上a的值是3.5

原因在於在預處理階段,編譯器將 a = n/2處理成了 a = 2+3/2;這就是巨集定義的字串替換的「邊緣效應」因此要如下定義

#define n (2+3)

const定義表示式沒有上述問題

const定義的常量叫做常變數原因有二:

1,const定義常量像變數一樣檢查型別。

2,const可以在任何地方定義常量,編譯器對它的處理過程與變數相似,只是分配記憶體的地方不同(常量在靜態區,變數在棧區)

10樓:請留言

說白了就是const是一個變數,而且會先計算其表示式。

define只是字串替代。只是在運算的時候把它所代表的句子加在它所在的地方,然後再計算。所以要特別注意計算的順序,注意加括號

C語言中的只讀變數與常量的具體區別在哪兒 都是存在資料區裡面的嘛?有什麼具體區別

巨集定義的作用是字串的替換,不是在編譯後產生的,而是預編譯就已經替換了,例如你說的a i 如果i是巨集 一般沒有單字母小寫的巨集 那麼i會在編譯之前就被替換成相應的字串的。巨集不是變數,只是字串替換的作用。但是const就不一樣了雖然是常量,但是是在編譯後處理的。所以編譯之前不能識別其值。因為編譯之...

整型常量和實型常量的區別,整型資料和實型資料的區別是什麼?

一 資料型別不同 整型常量的預設資料型別是int型別,即有符號整型。浮點數常量的預設型別是double型別,即雙精度型別。二 儲存方式不同 整型資料在計算機中用補碼儲存,實型資料採用ieee754標準儲存 三 表現形式不同 整型常量在c語言中,整型常量分為十進位制整型常量 八進位制整型常量和十六進位...

巨集程式區域性變數和公用變數的區別

普通區域性變數 就是一個任意模組中的一個過程,函式,屬性中以dim 申請的,存活時間就是這個過程結束,這個變數就不存在了靜態區域性變數 就是一個任意模組中的一個過程,函式,屬性中以static 申請的存活時間就是這個程式 模組 結束模組級變數 就是一個任意模組中頂部申請的變數 以private di...