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