什麼是常量,什麼是變數 怎樣定義常量和常成員函式

2022-04-04 19:29:13 字數 5926 閱讀 3509

1樓:歡釋心

常量:恆定的量,就是一直不能改變的量。如const int a=3;//a就不能變化,不能作左值

變數:可以變化的量,比如一會可是這值,一會可是那值,可以作左值,如int a=3;

a=4;//變化一下

a=5;//再變化一下,嘿嘿

定義常量:就是前面加上const

常成員函式,就是在函式頭的最尾加上const

2樓:

常量是在程式執行中不變的量,主要體現在不能賦值。

變數是其值可以改變的量,可以賦值,有整型、字元型、實型、列舉型別、構造型別等。

定義變數比較簡單,資料型別 空格 變數名1 逗號 變數名2·····;如:int a,b,c,d;

也可以在定義時賦初值如:int a=0;

定義常量可以用巨集定義,也可以用const,如:#include pi 3.141592653

3樓:匿名使用者

其實前面幾位已經介紹清楚了,補充一下、我個人覺的剛開始學的時候這樣理解就可以了,但是沒有絕對,用const定義的是乙個常變數、是乙個唯讀變數,在程式執行期間是不可以改變其值的(但也無絕對),在定義的時候就要初始化,還有常函式成員中的const是函式的一部分,是可以參與對過載函式的區分的。多看書多練習,會慢慢掌握的。。嘿嘿

4樓:蜘蛛洞小妖

常量即是在記憶體中定義的不變的恒量,如3,'a'等,變數是可變的量,如,a,b,對a可以賦不同的值,a=2,或a=3等。

j**a語言中,什麼是變數,如何定義乙個變數?什麼是常量?

5樓:解不開的困惑

變數和常量都具有名和值,不同的是變數在程式的執行過程中會被動態的分配記憶體位址。而常量只是在編譯器給其賦值,沒有分配位址,執行程式時,只是把對應的名換成值。

6樓:匿名使用者

變數就是你的類中的抄用來暫時儲存資料

襲的東西bai

定義方式為: 修飾符+變數類du型+變數名= new 變數型別()zhi;

如:private string a = new string();

或直接賦dao值 private string a = "abc";

但是a的值在你不斷賦值的過程中是可以變化的。

常量就是值不會發生變化的量,和變數是相對的,比如乙個常量a

private final string a = "abc";

那麼這個a只是不會改變的,這就是常量

常量與變數的區別是什麼?

7樓:a羅網天下

區別一:漢語意思不同

1、常量亦稱「常數」,是反映事物相對靜止狀態的量。

2、變數亦稱「變數」,是反映事物運動變化狀態的量。在事物的特定運動過程中,某量若保持不變,則稱之為常量;反之,則稱之為變數。

區別二:程式執行中值不同

1、不同常量的值不可以修改,所以常量在定義的時候必須初始化,任何嘗試修改常量的操作都會導致編譯出錯。

2、變數可以通過賦值來改變值,變數可以在定義時不進行初始化。

區別三:編譯的時候不同

1、常量在編譯的時候,可以以立即數形式編譯進指令,比起使用記憶體的變數執行效率更高。(組合語言中中運算元有三種:暫存器運算元、儲存器運算元和立即數。

其中立即數相當於高階語言中的常量(常數),它是直接出現在指令中的數,不用儲存在暫存器或儲存器中的數,如指令add al,06h中的06h即為立即數。)

2、常量本身沒有位址屬性(除字串常量等),而變數有位址屬性。所以常量只能用做右值,而變數左值右值都可以。

8樓:直女看動漫

區別如下:

1、漢語意義不同。常量亦稱「常數」,是反映事物相對靜止狀態的量;變數亦稱「變數」,是反映事物運動變化狀態的量。在事物的特定運動過程中,某量若保持不變,則稱之為常量;反之,則稱之為變數。

1、在數學中,常量指不變的量,如e,π等;變數指可以取不同值的量(因變數和自變數)。變數是常量的發展,常量是變數的特例。如y=2x+15,式子中15是常量,x、y是變數(y就是因變數,x就是自變數)。

2、在程式中,常量的值不可以修改,任何嘗試修改常量的操作都會導致編譯出錯。變數可以通過賦值來改變值;常量在定義的時候必須初始化。變數可以在定義時不進行初始化; 常量本身沒有位址屬性(除字串常量等),而變數有位址屬性。

所以常量只能用做右值,而變數左值右值都可以。

9樓:咩咩咩無名小豬

數學中表徵事物量的一對概念。

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

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

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

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

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

c語言中是如何定義常量的啊

10樓:劉世媛

我們在用c程式設計時有時需要定義不變的變數,即常量,有兩種方法。

例如:定義常量pi的兩種方式:

1. #define pi 3.1415926f;

2. const float pi 3.1415926f;

常量有整型常量、浮點型常量、字元型常量及字串常量。 『常量定義是指定義符號常量,用乙個識別符號來代表乙個常量,通過巨集定義預處理指令來實現。

格式:#define識別符號常量

由使用者命名的識別符號是符號常量名。作為符號常量名,一般大寫。一旦定義,在程式中凡是出現常量的地方均可用符號常量名來代替。

對使用了符號常量的程式在編譯前會以實際常量替代符號常量。

全域性變數和區域性變數的區別:

11樓:匿名使用者

#define count 60

這叫巨集定義,不叫常量

常量的定義:

const int count = 60;

形參指定型別,實參指定數值

12樓:天雲一號

c語言定義常量常用的方法有以下2種:

第一種:巨集定義

#define n 3  // 定義了乙個常量為3的巨集n,在程式中n就代表3

第二種:給變數初始化賦值

int a = 2;  // 定義了乙個int型變數,並賦值為2,其實這是用變數來定義常量

注:定義常量還是用巨集定義的比較多。

13樓:匿名使用者

常量的定義:

#define count 60

這就定義了乙個常量 count 它的值是乙個常量60 在整個程式中不變

關於實際引數和,形式引數:

可以這樣通俗的去理解:

主調函式中的引數是實際引數,被調函式中的引數是形式引數,比如說:如下**段

被調函式:

int max(int a,int b)

主調函式:

main()

在北調函式max(int a,int b)中a,b是形式引數在主函式中max(a,b)中的a,b是實際引數;

14樓:匿名使用者

可以用預處理命令#indefine

和const靜態定義個數便是常量

形參就是函式定義時,所給的引數;而實參就是在main函式中呼叫時所使用的引數,兩者可以相同也可以不相同。

15樓:匿名使用者

實參在主調函式中,形參在被調函式中

當使用的是值傳遞方式時,實參值傳遞給形參,但是形參不把值傳回實參,即單向傳遞。

當使用位址傳遞時,實參位址傳遞給形參,形參把位址傳回實參,是雙向傳遞。

16樓:

#define

定義在全域性區

17樓:☆行雲流水

#define count 100

實參在主調函式中,形參在被調函式中

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

18樓:夢heart兒

1、占用空間不同

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

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

2、能否在計算中改變

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

擴充套件資料

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

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

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

19樓:匿名使用者

區別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可以在任何地方定義常量,編譯器對它的處理過程與變數相似,只是分配記憶體的地方不同(常量在靜態區,變數在棧區)

20樓:請留言

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

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

c語言裡符號常量和常變數有什麼區別?

21樓:楊塵一

符號常量與常變數的區別:符號常量不占用記憶體空間,在預編譯時就全部由符版號常量的值替換了,而常變數占用權記憶體空間,也有資料型別,但是此變數在存在期間是不能重新賦值的。

1、常變數a的定義如下:

const int a = 5;

2、符合常量pi的定義如下:

#define b=3.1;

22樓:四角瑪

符號常量 是編譯前有預處理器處理的

#define pi 3.1415926

#define 是一條預處理命令, 就是出現符號常量pi的地版方用後面的數字替換只

權是簡單地替換

然後進入編譯器

而常變數由編譯器處理,分配記憶體空間,有資料型別,可以和變數一樣使用,但不可以改變值!

const float pi=3.14159;

請問常量與變數是什麼,常量和變數的區別

常量嘛就是確定的抄 值,比襲如3或者5或者其他,bai而變數嘛就是不確定du的值可以是zhi3也可以是其他,dao但是你給變數起乙個好記的名字吧,比如a那麼a就是變數,a可以是任意數值,understand,不懂還可以多多交流哦,互相學習,提高更快,嘿嘿。常量和bai 變數都是程式對du屬性值的引用...

c語言中巨集跟常變數的定義有什麼區別

c當中是沒有常變數的,也就是定義的變數賦值了常數但是仍然可以改變值 c 裡邊才有常變數,定義同時初始化,以後就不能改變值了。c中的巨集定義就是一種替換,上的複製替換,可以這樣理解,define a 12345就是凡是a出現的地方都用12345替換,當然巨集替換就不止數值,還可以到字串 函式表示式上去...

C語言中定義函式,變數是指向指標的變數,呼叫時要怎麼呼叫

首先fact函式返回的是double型別,第乙個引數是double型的二維指標.所以是 c i fact c,y,z 因為double c 3 是二維double指標,c i 是乙個double一維指標,c i 就是double型資料。c是二維指標,可以傳過去 c i fact c,y,z c i ...