c語言巨集定義裡帶引數是什麼意思,在C語言中 巨集 是什麼意思?

2022-02-08 01:40:47 字數 3790 閱讀 7530

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...