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進位制數...