C 預設引數 詳解

2021-08-31 18:52:37 字數 1138 閱讀 6055

所謂預設引數,顧名思義,就是在宣告函式的某個引數的時候為之指定乙個預設值,在呼叫該函式的時候如果採用該預設值,你就無須指定該引數。預設引數使用主要規則:呼叫時你只能從最後乙個引數開始進行省略,換句話說,如果你要省略乙個引數,你必須省略它後面所有的引數,即:帶預設值的引數必須放在參數列的最後面。 預設值必須是常量。顯然,這限制了預設引數的資料型別,例如動態陣列和介面型別的預設引數值只能是 nil;至於記錄型別,則根本不能用作預設引數。 預設引數必須通過值參或常參傳遞。宣告是帶有預設引數的函式,則預設值只能寫在宣告當中。

預設引數可以分為全預設引數半預設引數

全預設引數就是所有的引數都帶有預設值。

int add(int a = 10, int b = 10, int c = 10){}
全預設引數通常這樣傳參:

顯而易見,如果傳參的時候只傳了部分引數,那麼該值會被從左至右匹配。

​​​​​​​半預設引數就是部分引數帶有預設值。

int add(int a, int b = 10, int c =10){}   //正確

int add(int a, int b, int c =10){} //正確

int add(int a, int b = 10, int c){} //錯誤

int add(int a = 10, int b = 10, int c){} //錯誤

注意:帶預設值的引數必須放在引數列表的最後面。因為傳參是從右向左的。

預設引數不能同時在函式宣告和定義中出現,只能二者留其一,最好放在宣告中。

預設值必須是常量或者全域性變數。

c語言並不支援預設。

C 之預設引數詳解

目錄 通常情況下,函式在呼叫時,形參從實參那裡取得值。對於多次www.cppcns.com呼叫同一函式同一實參時,c 給出了更簡單的處理辦法。給形參以預設值,這樣就不用從實參那裡取值了。1.單個引數 include include using namespace std void weatherfo...

C 預設引數

一 預設引數 在c 中,可以為引數指定預設值。在函式呼叫時沒有指定與形參相對應的實參時,就自動使用預設引數。預設引數的語法與使用 1 在函式宣告或定義時,直接對引數賦值。這就是預設引數 2 在函式呼叫時,省略部分或全部引數。這時可以用預設引數來代替。注意 1 預設引數只可在函式宣告中設定一次。只有在...

C 預設引數

函式的預設引數值,即在定義引數的時候同時給它乙個初始值。在呼叫函式的時候,我們可以省略含有預設值的引數。也就是說,如果使用者指定了引數值,則使用使用者指定的值,否則使用預設引數的值。void func int i 1,float f 2.0f,double d 3.0 int main void 引...