C 對C語言的擴充套件 3 預設引數和佔位引數

2021-10-14 01:54:10 字數 831 閱讀 8574

通常情況下,函式在呼叫時,形參從實參那裡取得值。對於多次呼叫同一函式同一實參時,c++給出了更簡單的處理辦法。給形參以預設值,這樣就不用從實參那裡取值了。

//1	若你填寫引數,使用你填寫的,不填寫預設

void

func

(int a =3)

//2	在預設引數規則 ,如果預設引數出現,那麼右邊的都必須有預設引數

void

func

(int a,

int b,

int c =1,

int d =2)

intmain()

只有引數列表後面部分的引數才可以提供預設引數值,一旦在乙個函式呼叫中開始使用預設引數值,那麼這個引數後的所有引數都必須使用預設引數值

函式宣告和實現,只能有乙個提供預設引數,不可以同時加預設引數

只寫乙個型別進行佔位,呼叫時必須要傳入佔位值

void func(int a, int = 1);

佔位引數也可以有預設值

/*

可以將佔位引數與預設引數結合起來使用

意義:1.為以後程式的擴充套件留下線索

2.相容c語⾔言程式中可能出現的不規範寫法

*///c++可以宣告佔位符引數,佔位符引數儀般用於程式擴充套件和對c**的相容

intfunc

(int a,

int b,

int=0)

intmain()

結論:如果預設引數和佔位引數在一起,都能呼叫起來

C 對C的函式拓展 預設引數

1 c 中可以在函式宣告時為引數提供乙個預設值,當函式呼叫時沒有指定這個引數的值,編譯器會自動用預設值代替 void myprint int x 3 2函式預設引數的規則 只有引數列表後面部分的引數才可以提供預設引數值 一旦在乙個函式呼叫中開始使用預設引數值,那麼這個引數後的所有引數都必須使用預設引...

c 對C語言的擴充套件(一)

一 c 對c的加強 1 命名空間 為什麼要引入命名空間這個概念 乙個中大型軟體往往由多名程式設計師共同開發,會使用大量的變數和函式,不可避免地會出現變數或函式的命名衝突。當所有人的 都測試通過,沒有問題時,將它們結合到一起就有可能會出現命名衝突。例如小李和小韓都參與了乙個檔案管理系統的開發,它們都定...

C 預設引數和佔位引數

預設引數 可以給函式的形參指定乙個值作為這個形參的預設引數,當不給引數傳實參時,使用這個引數 1 有函式宣告時,預設引數可以放在函式宣告或者定義中,但是只能二者之間選擇一種 2 沒有函式宣告時,預設引數在函式定義中 3 在具有多個引數的函式中指定預設值時,預設值都必須出現在非預設引數的右邊。即一旦某...