C 函式特性

2021-07-08 17:27:30 字數 1483 閱讀 4595

1. 函式引數預設值:

比較兩個函式預設值的正確性:

void  fun(int i, int j = 5, int k = 10); (正確)

void  fun(int i, int j = 5, int k); (錯誤)

------------有函式引數值的引數必須在引數列表的最右端!

2. 使用時的一些注意事項:

① 為了避免某些編譯器不通過,建議在宣告時給函式加預設值,定義時最好不要加預設值;

void fun(int  i, int j = 5, int k = 10) ---- 不推薦

使用時:

int main()

結論:無實參使用預設值; 否則實參代替預設值;

2. 函式過載:

在相同的作用域內滿足兩個條件:① 用同一函式名定義的多個函式; ②引數個數和引數型別不同; 互稱為過載

int  getmax(int x, int y, int z)double getmax(double x, double y)

編譯器如何識別過載?

名稱相同,引數個數不同------名稱和型別,自動識別

過載的好處?

在某些場合下,函式的名稱相同時合適的;提高編碼效率;

3. 內聯函式(inline):

編譯時將函式體**和實參**函式呼叫語句,節省了時間,提高了效率,尤其是在迴圈呼叫的時間;

定義方式:

inline int max(int a, int b, int c)

int main()

思考:為什麼不所有函式都使用內聯方式呢?

① 內聯是建議性的,由編譯器決定;

② 邏輯簡單(其中不包括for, while複雜的邏輯結構),呼叫頻繁的函式建議使用

③ 遞迴函式無法使用內聯方式;

c 函式特性

1.內斂函式在函式的宣告和定義前面都要加上關鍵字 inline 2.內聯函式是c 為提高程式執行速度所做的一項改進,與常規函式區別在於c 編譯器如何將它組合到程式中,所謂的的 內聯 是編譯器將使用相應的函式 來替換函式呼叫,程式無需跳轉到另乙個位置執行 再跳回來。所以速度比常規函式稍快,但是代價是需...

C 函式特性

1 函式引數預設值 void fun int i,int j 2,int k 3 void fun int i,int j 2,int k 有預設引數值的引數必須在參數列的最右端 fun 10 實際傳入10 fun 10,20 實際傳入10,20,不是10,2 fun 10,20,30 實際傳入10...

C函式引數特性

編寫日期 2012.5.22 前言 c語言,是函式構成的語言,c離不開函式,函式對於c的存在有著決定性的作用。那麼,函式引數對於c的重要性也就可想而知了。下面我就談談c函式引數的一些性質。引數特性簡介 特點一 函式引數的傳遞順序。例項一 void func int id1 int id2 void ...