1樓:匿名使用者
對的!專家的推薦是這樣的:
1,對於數值和字元常量,用#define,注意新增必要注釋;版2,對於其它權
型別常量,用 const 限定符。
const 和 #define 的區別在於1、const 像變數一樣有範圍(作用域)、可見性等限制,一般來說好一點;
2、define常常出現意料之外的事情,因為他是靠替換,一般用於人為規定的值,取個巨集名非常重要!
僅供參考!
c語言中是如何定義常量的啊
2樓:劉世媛
我們在用c程式設計時有時需要定義不變的變數,即常量,有兩種方法。
例如:定義常量pi的兩種方式:
1. #define pi 3.1415926f;
2. const float pi 3.1415926f;
常量有整型常量、浮點型常量、字元型常量及字串常量。 『常量定義是指定義符號常量,用乙個識別符號來代表乙個常量,通過巨集定義預處理指令來實現。
格式:#define識別符號常量
由使用者命名的識別符號是符號常量名。作為符號常量名,一般大寫。一旦定義,在程式中凡是出現常量的地方均可用符號常量名來代替。
對使用了符號常量的程式在編譯前會以實際常量替代符號常量。
全域性變數和區域性變數的區別:
3樓:匿名使用者
#define count 60
這叫巨集定義,不叫常量
常量的定義:
const int count = 60;
形參指定型別,實參指定數值
4樓:天雲一號
c語言定義常量常用的方法有以下2種:
第一種:巨集定義
#define n 3 // 定義了乙個常量為3的巨集n,在程式中n就代表3
第二種:給變數初始化賦值
int a = 2; // 定義了乙個int型變數,並賦值為2,其實這是用變數來定義常量
注:定義常量還是用巨集定義的比較多。
5樓:匿名使用者
常量的定義:
#define count 60
這就定義了乙個常量 count 它的值是乙個常量60 在整個程式中不變
關於實際引數和,形式引數:
可以這樣通俗的去理解:
主調函式中的引數是實際引數,被調函式中的引數是形式引數,比如說:如下**段
被調函式:
int max(int a,int b)
主調函式:
main()
在北調函式max(int a,int b)中a,b是形式引數在主函式中max(a,b)中的a,b是實際引數;
6樓:匿名使用者
可以用預處理命令#indefine
和const靜態定義個數便是常量
形參就是函式定義時,所給的引數;而實參就是在main函式中呼叫時所使用的引數,兩者可以相同也可以不相同。
7樓:匿名使用者
實參在主調函式中,形參在被調函式中
當使用的是值傳遞方式時,實參值傳遞給形參,但是形參不把值傳回實參,即單向傳遞。
當使用位址傳遞時,實參位址傳遞給形參,形參把位址傳回實參,是雙向傳遞。
8樓:
#define
定義在全域性區
9樓:☆行雲流水
#define count 100
實參在主調函式中,形參在被調函式中
在c語言中什麼叫巨集定義的常量
10樓:天雲一號
在c語言中,巨集定義的常量就是通過如下格式來定義的乙個不帶引數的常量:
#define 識別符號 字串
舉例說明如下:
#include
#define pi 3.14 // 巨集定義常量,即pi=3.14
void main()
11樓:匿名使用者
形如:#define pi 3.14159
pi就是乙個巨集定義的常量 等於3.14159
12樓:藍白的生活
常量只是巨集定義的一種,巨集定義還可以定義其他東西。
c語言中是如何定義常量的啊?
13樓:迠寋漧
c語言定義常量常用的方法有以下2種:
第一種:巨集定義
#define n 3 // 定義了乙個常量為3的巨集n,在程式中n就代表3
第二種:給變數初始化賦值
int a = 2; // 定義了乙個int型變數,並賦值為2,其實這是用變數來定義常量
注:定義常量還是用巨集定義的比較多。
c語言中為什麼用巨集定義乙個字元常量(乙個字母)可以賦值給字元變數,
14樓:匿名使用者
1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。
2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:
1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好
3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.
15樓:匿名使用者
因為巨集是乙個簡單替換,所以c語言中用巨集定義乙個字元常量(乙個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。
例如:#define a 5
void main()
在編譯之前a已經被替換成5了,所以就可以賦值給num。
16樓:匿名使用者
漢字根據編碼方式不同,所佔的大小2~4個位元組不等,漢字賦值給字元變數,只顯示第乙個位元組,出問號就不奇怪了
用漢字賦值給字元數陣列然後在顯示的話,一定要考慮編碼方式問題,你的終端支援哪種就選擇哪種,否則亂碼
17樓:匿名使用者
#define namehello "wendy"
#include
#include
void main()
18樓:匿名使用者
c裡面不支援漢子,你用vc++6.0試試,那個可以顯示漢子
c語言中常量定義和巨集定義有什麼區別?
19樓:劉文正粉絲
區別大了個去了.
巨集定義是預處理命令.
#defien a 3
執行後, 預處理器把會正文所有全字匹配的a, 全部替換為3,那麼, 最後的**進入編譯器的**,
1 + a, 是變成1 + 3的.
而const int a = 3;
這個是不在預處理器的管理範圍之內 ,這個就是編譯器的工作了, 有些編譯器不會為它分配空間, 直接把它加入符號表中, 也就是說, 常量不再是0123456789這10個數, 而是0123456789a這11個數, 那麼a就是被定義成3了, 所以符號表裡的內容是01234567893.
而有些 編譯器會為它分配空間.
你不知道它們的區別, 說明你學巨集的時候, 並不知道巨集的原理.
20樓:金色潛鳥
巨集定義 是編譯前的預處理。
#define a 3 是在程式正式編譯前,做 token a 的字串替代,凡 token a 都用 3替代, 替代完了再開始編譯。
const int a = 3; 是 變數宣告和初始化。只是強調了 a 是 常量,不能用來做 「左值」,即,數值不能改變。
21樓:匿名使用者
符號常量 #define pi 3.1415926f;
常值變數 const float pi 3.1415926f;
網頁鏈結
c語言中為什麼用巨集定義乙個字元常量(乙個字母)可以賦值給字元變數?
22樓:匿名使用者
1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。
2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:
1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好
3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.
23樓:關韶侍荏
因為巨集是乙個簡單替換,所以c語言中用巨集定義乙個字元常量(乙個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。
例如:#define a 5
void main()
在編譯之前a已經被替換成5了,所以就可以賦值給num。
c語言定義常量為什麼不建議用#define
24樓:匿名使用者
c語言的常量就bai是使用#define定義的。你是說duc++吧?zhic++的常量推薦使用const 定義,因為#define只是dao單純的字元專替換,無法檢查資料型別,屬const定義常量需指明資料型別,利於編譯器進行型別檢查。
25樓:匿名使用者
1、那是因bai為對於#define定義,編譯du器會存放在一zhi個記憶區dao域,這個記憶區域相當於我專們稱為巨集
屬為了不把有需要的裝進這個區域,我們只把有必要的,特殊的放進去2、當用#deifne定義的量是不能更改的,這樣就沒法迴圈使用了。
26樓:匿名使用者
這個,看常量型別,如果程式中大量使用且以後可能要經常改變這個常量的值,還是用#define比較方便,否則的話就沒有必要了!
27樓:知識哥哥
樓上的哥們 你用什麼定義的常量可以賦值呢?
28樓:匿名使用者
函式中不能再被重新賦值!
C語言中0349是常量嗎
c語言中0349不是乙個合法的常量。以0開始的數字,表示是乙個八進位制數,但八進位制數的每乙個字元都不大於7的。不是,0開頭,說明是八進位制數,八進位制數里沒有9出現 西遼人為什麼簞食壺漿,以迎蒙古大軍 1反抗屈出律 2蒙古軍中的許多契丹人肯定也起了溝通作用。3大石林牙早年在蒙古高原召集七州十八部,...
在c語言中什麼叫巨集定義的常量
在c語言中,bai巨集定義的常量就是du通過如zhi下格式來定義的乙個dao不帶引數的常量 define 識別符號版 字串權 舉例說明如下 include define pi 3.14 巨集定義常量,即pi 3.14 void main 巨集定義bai不佔記憶體空間,因為巨集du 在預處理zhi階段...
c語言中什麼是數的有效數字,C語言中什麼是乙個數的有效數字?
樓上誤解 樓主問的是c語言 不是數學 這要看你的機器型別和變數型別了 如果定義的是int型 那1234是有 版效數字 權 後面小數都是無效的 如果定義的是float型 那在限定位元組長度內都是有效數字不同機器型別也不一樣 int型有2個位元組 也有4個位元組的 在c語言中,bai乙個數的有效數du字...