C 中常量賦值是如何規定的,C語言中是如何定義常量的啊

時間 2021-08-11 17:35:05

1樓:匿名使用者

像 42 這樣的值,在程式中被當作字面值常量。稱之為字面值是因為只能用它的值稱呼它,稱之為常量是因為它的值不能修改。每個字面值都有相應的型別,例如:

0 是 int 型,3.14159 是 double 型。只有內建型別存在字面值,沒有類型別的字面值。

因此,也沒有任何標準庫型別的字面值。 c++ primer中2.2

2樓:匿名使用者

1、const常量是不允許被賦值的。

2、由編譯器確定值叫初始化,由c/c++**確定值就叫賦值,不叫初始化而叫賦初值了。const變數只有初始化的份兒(而且必須初始化),根本不能被賦值(哪怕是初值);如果能被賦值,還叫什麼const(只讀)變數?再大的陣列,初始化為0時很好辦,只要把首元素初始化為0,其餘的都被編譯器自動置0了。

3樓:匿名使用者

1、值替代   c語言中前處理器用值代替名字:

#define bufsize 100 這種方式在c++中依然適用,同時  c++用const把值代替帶進編譯器領域:  const bufsize = 100 ;或 const int bufsize = 100 ;  同時還可以執行常量摺疊:  char buf[bufsize] ;1.

1 標頭檔案裡的const  與使用#define一樣,使用const必須把const定義放在標頭檔案裡。這樣,通過包含標頭檔案,可把const定義單獨放在一個地方,並把她分配給一個編譯單元。const預設為內部連線,即僅在const被定義過的檔案裡才是可見的,而在連線時不能被其他編譯單元看到。

  比如說在test.h中定義了,

const int ntestconst = 1000;  在a.cpp中include"test.h"  同時在b.

cpp中include"test.h"  不會出現,當沒有定義為const時,因變數定義出現兩次而出錯的情形.  當定義一個const常量時,必須賦一個值給它,除非用extern作了清楚的說明:

extern const bufsize ;  雖然上面的extern強制進行了儲存空間分配,但c++編譯器並不為const分配儲存空間,相反它把這個定義儲存在它的符號表裡。當const被使用時,它在編譯時會進行常量摺疊。 1.

2 const的安全性  如果想要一個值保持不變,就應該使它成為一個常量(const)。  1.3 集合  const可以用於集合,但必須分配記憶體,意味著“不能改變的一塊儲存”。

但其值在編譯時不能被使用。

const int i = ;

// float f [ i [3] ]; // illegal  2,指標  當使用帶有指標的const時,有兩種選擇:1、或者const修飾指標正指向的物件,2、const修飾儲存在指標本身的地址。  2.

1 指向const的指標  使用指標定義的技巧,正如任何複雜的定義一樣,是在識別符號的開始處讀它並從裡到外讀。如果我們要使正指向的元素不發生改變,得寫:

const int * x;  從識別符號開始:“x 是一個指標,指向一個const int。”  把const從一邊移到另一邊,結果一樣。

  int const * x;  2.2 cosnt指標  是指標本身成為一個const指標,必須把const標明的部分放在*的右邊,如:

int d = 1;

int * const x = &d;  指標本身是const指標,編譯器要求給它一個初始化值,這個值在指標壽命期間不變。然而要改變它所指向的值是可以的,可以寫*x = 2。  這些可以總結成這樣一句話:

  以*為分界點,  當const在*的左邊時,實際物體值不變  當const在*的右邊時,指標不變,  即,左物右指  這樣來記比較方便!! ---摘自 http://webservices.

ctocio.com.cn/net/157/9255157.

shtml

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

4樓:劉世媛

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

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

1. #define pi 3.1415926f;

2. const float pi 3.1415926f;

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

格式:#define識別符號常量

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

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

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

5樓:匿名使用者

#define count 60

這叫巨集定義,不叫常量

常量的定義:

const int count = 60;

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

6樓:天雲一號

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

第一種:巨集定義

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

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

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

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

7樓:匿名使用者

常量的定義:

#define count 60

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

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

可以這樣通俗的去理解:

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

被調函式:

int max(int a,int b)

主調函式:

main()

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

8樓:匿名使用者

可以用預處理命令#indefine

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

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

9樓:匿名使用者

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

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

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

10樓:

#define

定義在全域性區

11樓:☆行雲流水

#define count 100

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

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

12樓:迠寋漧

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

第一種:巨集定義

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

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

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

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

c語言指標如何賦值,c語言 指標如何賦值

一棵無所不知的小白菜 1 變數的指標就是變數的地址。存放變數地址的變數是指標變數。即在c語言中,允許用一個變數來存放指標,這種變數稱為指標變數。因此,一個指標變數的值就是某個變數的地址或稱為某變數的指標。2 為了表示指標變數和它所指向的變數之間的關係,在程式中用 符號表示 指向 3 定義指標變數.對...

c語言的賦值問題,C語言指標的賦值問題

上面的說法中,都存在錯誤或不足.1.首先 c a b 的意義是把 a 和 b 這兩個變數的內容 5 和 6 相加得 11,再把 11 這個結果值傳送至 變數 c 所在的儲存單元儲存起來 而不是你想像的 將 a 和 b 這兩個變數組合為一個變數作為 c,或者複製一份變數組合再作為 c.當你用int a...

c語言中的合法常量,C語言的合法常量的定義是什麼?急!急!

小牆侃文化 常量的概念 常量是指在程式執行過程中,其值不能被改變的量。c語言中常量 直接常量和符號常量。直接常量是指直接用具體資料表達的一種形式,直接常量又分為整型常量 實型常量 字元常量和字串常量 符號常量則是指用c語言識別符號定義的常量。整型常量就是整常數,10進位制數 8進位制數和16進位制數...