在c語言中巨集和函式的區別

2021-08-10 04:27:21 字數 1119 閱讀 1183

關於c語言中的巨集,自己來總結一下。

簡單來說,巨集就是在c語言中簡單的文字替換,這是簡單的理解,嚴格的說不是很準確,因為在巨集中存在乙個文字條件編譯,所以有一定的判斷,巨集是在c語言中的預處理階段就已經處理完成。

函式呢,就要分為兩種了。

第一種封裝成庫。如果函式在動態庫中,那麼呼叫就是在函式執行階段 。如果在靜態庫中,就在編譯階段就把相應的標頭檔案copy乙份到**中,這樣的**的效率會有所 的提高,但檔案的或者**量比較大。

第二種就是自己寫的函式,這樣就是用就呼叫執行,不用copy**。

那麼下來咱們具體來總結一下巨集與函式的區別:

1.  從**長度來看:

巨集:巨集是簡單的**替換,每次使用時都是插入到程式中,除了非常小的巨集外,程式會將大幅度增長。

函式:**只出現與乙個地方,每次呼叫都會到那個地方用同乙份**。

2. 執行速度:

巨集:速度相對快。

函式:存在反返回值和函式呼叫。

3.  可靠度:

巨集:在巨集的簡單文字替換中,是不會計算,所以在遇到操作符優先順序問題,有可能會出現錯誤。

函式:函式有型別所以,有傳值計算表示式,結果更容易**。

4引數型別:

巨集:巨集與型別無關,只要是合法的,可以是任何引數型別。

函式:函式是與型別有關的,如果引數型別不同,就需要使用不同的函式,即使執行任務是相同。

C語言 巨集和函式的區別

1,巨集 巨集定義將乙個識別符號 定義為乙個字串,源程式 中的該識別符號均以指定的字串來代替。巨集的書寫形式 define 巨集名 參數列 巨集體 2,函式 函式有庫函式和自己編寫的函式,庫函式是用來定義一些經常用的大家都知道的函式,自定義的函式是大家為了實現一些功能來自己編寫的函式 3,巨集和函式...

巨集和函式的區別(C語言)

一 長度 1 每次使用時,巨集 都被插入到程式中。除了非常小的巨集之外,程式的長度將大幅度增長。2 函式 只出現於乙個地方,每次使用這個函式時,都呼叫那個地方的同乙份 二 執行速度 1 define 巨集 更快。2 函式存在函式呼叫或返回的額外開銷。三 操作符優先順序 1 巨集引數的求值是在所有週期...

C語言巨集和函式的區別

首先巨集的使用 有標準巨集和巨集函式 標準巨集就是將乙個大寫字母或單詞定義成不可改變的常量,使用時直接文字替換,如 define n 1000巨集函式是將乙個函式簡化為大寫的字母或單詞,多次使用時會很方便。要注意的是巨集函式裡邊,表示式和引數都要帶上圓括號,否則可能會出現由於優先順序或求值順序而導致...