1樓:匿名使用者
c的巨集可以用來替換常數,替換表示式,仔細把這個程式看完你就明白了,#include
int main()
程式輸入4 輸出25
2樓:匿名使用者
比如#define max(a,b) ((a)>(b)?(a):(b))
3樓:月夜闌干
格式:#define巨集名(參數列) 字串
例如:#define s(a,b) a*b
area=s(3,2);第一步被換為area=a*b; ,第二步被換為area=3*2;
類似於函式呼叫:
(1)實參如果是表示式容易出問題
#define s(r) r*r
area=s(a+b);第一步換為area=r*r;,第二步被換為area=a+b*a+b;
正確的巨集定義是#define s(r) ((r)*(r))
(2)巨集名和引數的括號間不能有空格
(3)巨集替換隻作替換,不做計算,不做表示式求解
(4)函式呼叫在編譯後程式執行時進行,並且分配記憶體。巨集替換在編譯前進行,不分配記憶體
(5)巨集的啞實結合不存在型別,也沒有型別轉換。
(6)函式只有一個返回值,利用巨集則可以設法得到多個值
(7)巨集使源程式變長,函式呼叫不會
(8)巨集不佔執行時間,只佔編譯時間,函式呼叫佔執行時間(分配記憶體、保留現場、值傳遞、返回值)
在c語言中"巨集"是什麼意思?
4樓:楊塵一
簡單來說:巨集定義又稱為巨集代換、巨集替換,簡稱「巨集」。是c提供的三種預處理功能的其中一種。
說明:1、巨集名一般用大寫
2、使用巨集可提高程式的通用性和易讀性,減少不一致性,減少輸入錯誤和便於修改。例如:陣列大小常用巨集定義
3、預處理是在編譯之前的處理,而編譯工作的任務之一就是語法檢查,預處理不做語法檢查。
4、巨集定義末尾不加分號;
5、巨集定義寫在函式的花括號外邊,作用域為其後的程式,通常在檔案的最開頭。
6、可以用#undef命令終止巨集定義的作用域
7、巨集定義可以巢狀
8、字串" "中永遠不包含巨集
9、巨集定義不分配記憶體,變數定義分配記憶體。
5樓:萌萌
定義的意思,在c語言中的巨集定義就是定義外部變數,內部函式使用exiterm來呼叫
如:exiterm char c1,c2;
c語言中的巨集定義的字是:definec語言中的define巨集定義有帶引數的和不帶引數兩中形式,不帶參格式是:#define 巨集名,字串帶參格式是:
#define 巨集名(引數1,引數2,...) 字串在c語言裡巨集定義只用來做的巨集名替換,而不做語法檢查的,因而它不是c語句,所以在巨集定義的時候不需要在後面加";"巨集也在c裡也叫預處理命令,因為巨集是在程式編譯前先進行字元替換的,所以叫預處理.在c裡還有其它的預處理命令如:
#define
#undef
#ifdef等。
c語言中帶引數的巨集定義問題 20
在c語言中什麼叫巨集定義的常量
6樓:天雲一號
在c語言中,巨集定義的常量就是通過如下格式來定義的一個不帶引數的常量:
#define 識別符號 字串
舉例說明如下:
#include
#define pi 3.14 // 巨集定義常量,即pi=3.14
void main()
7樓:匿名使用者
形如:#define pi 3.14159
pi就是一個巨集定義的常量 等於3.14159
8樓:藍白的生活
常量只是巨集定義的一種,巨集定義還可以定義其他東西。
在c語言中 巨集定義是什麼?
9樓:雪人晒太陽
在c語言源程式中,允許用一個識別符號來表示一個字串,稱為巨集,巨集定義是由源程式中的巨集定義命令完成的,巨集替換是由預處理程式自動完成的。巨集定義是c提供的三種預處理功能的其中一種,這三種預處理包括:巨集定義、檔案包含、條件編譯。
10樓:仁昌居士
c語言中的巨集定義用法分為兩種。
1、不帶引數的巨集定義比較簡單,就是用一個指定的識別符號來代表一個字串。它的一般形式為「#define 識別符號 字串」,例如#define e 2.718281828459。
這種方法使使用者能以一個簡單的名字代替一個長的字串。
2、帶引數的巨集定義不是僅僅進行簡單的字串替換,還要進行引數替換。其定義的一般形式為;「#define 識別符號(巨集名)(參數列) 字串」,字串中包含在括號中所指定的引數。例如#define s(a,b) a*b area=s(3.
2)。
c語言函式後跟一個巨集定義是什麼意思?
11樓:暴血長空
預處理運算子# #為巨集擴充套件提供了一種連線實際變元的手段。如果替換文字中的引數用 # #相
連,那麼引數就被實際變元替換, # #與前後的空白符被刪除,並對替換後的結果重新掃描。例
如,下面定義的巨集p a s t e用於連線兩個變元:
#define paste( front, back ) front ## back
從而巨集呼叫paste(name, 1)的結果是建立單詞n a m e 1。
12樓:匿名使用者
巨集定義要看你怎麼用了。 例如#define newline printf("\n") 你在用的時候就要把newline當作是一條語句或函式後面要加分號才可以。 若#define newline printf("\n"); 那你在使用這個巨集的時候只要寫newline就可以了。
ps.如果你巨集定義中有分號,使用的時候加不加分號都行,因為多的那個分號可以認為是空語句。但是巨集定義沒有加分號,使用巨集的時候就要記著加分號。
所以你測試時只把巨集定義的分號去掉了,肯定會報某個語句之前parse錯誤
13樓:匿名使用者
用於指定編譯器優化儲存的巨集
c語言中巨集定義是什麼意思?
14樓:
形式:#define《巨集標誌》《字串》
例如 #define pi 3.14159
表示在以下的程式中 pi 課代替3.14159
15樓:匿名使用者
就是給一些常用到的引數給一個值,在後面用到這個引數時就用這個巨集標誌代替舊可以了。舊比如樓上說的pi,每次都輸入3.1415926比較麻煩,巨集定義後就可以用pi代替3.
1415926了。
16樓:永恆求知者
說白了,就是文字處理,沒那麼複雜
17樓:業令酈雪峰
設定a=b+c,則在下面語句中所有的a都會被替換成b+c
18樓:逯昕修運晟
舉一個小例子:
#include
#define
pi3.1415926
intmain()
上面的這個
19樓:霜蘿越易雲
巨集定義 就這樣理解 程式後面所有的x 都被轉成你設定的值
C語言的巨集定義是什麼,在C語言中巨集定義是什麼?
巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 是c提供的三種預處理功能的其中一種。1 巨集名一般用大寫。2 使用巨集可提高程式的通用性和易讀性,減少不一致性,減少輸入錯誤和便於修改。例如 陣列大小常用巨集定義。3 預處理是在編譯之前的處理,而編譯工作的任務之一就是語法檢查,預處理不做語法檢查。4 巨...
這些巨集定義是什麼意思,滑鼠的巨集定義是什麼意思?
巨集定義,相當於在後面程式中,所有遇到巨集定義的地方,直接用後面的式子替代。如 bm定義為 define bm n 1 n 在後面出現bm n 的地方,就是直接用 1 n 替換。bm 1 直接就是執行把1左移一位。1 val是一個引數,就是給埠賦值的變數引數。2 按位 異或 僅當兩個運算元不同時,相...
c語言中c什麼意思,c語言中!是什麼意思?
c表示取c的邏輯非,例如if c 表示如果c 0,則語句成立。不曉得你要問什麼 如果想要更確切的解釋,請貼出相關 一種計算機程式語言,是現在運用最廣泛的語言,用於編寫程式 邏輯運算子,取反的意思 真 假 假 真 你確定歎號是中文狀態的嗎?c語言中!是什麼意思?include stdio.h main...