C 中函式的預設引數

2021-09-25 05:49:27 字數 1257 閱讀 7691

在c++中增加了函式的預設引數這一功能。在c++中,可以為函式宣告的時候為函式提供乙個預設值,當呼叫該函式的時候,如果沒有函式引數的值,則會使用預設值。

例如下面的**:

#include 

int func

(int x =0)

;// 函式的宣告

int main

(int argc,char *ar**)

int func

(int x)

//函式的定義

用c++編譯器編譯執行後,得到的結果是:

mul() = 0

mul(1) = 1

mul(3) = 9

也就是說當我們在函式宣告的時候,如果給了函式乙個預設值,當呼叫函式的時候,沒有沒有給函式傳遞引數,則會使用預設值,這在c語言中是沒喲這一項功能的。

函式的預設值必須在函式宣告的時候指定。

如果宣告和定義都使用了預設值,則會出現錯誤。

如果定義的時候指定了預設值,宣告的時候沒有使用預設值,那麼定義時指定的預設值沒有作用。

在宣告乙個函式的時候,如果這個函式有多個引數,想給其中的一部分引數指定預設值,那麼必須從引數列表的右邊指定起。例如:

#include 

int func

(int x,int y =

1,int z =2)

;// 函式的宣告

int main

(int argc,char *ar**)

int func

(int x,int y,int z)

//函式的定義

對於上面的**,當我們宣告int func(int x,int y = 1,int z = 2);的時候,如果要指定預設引數,必須從引數的右邊指定起,不能出現int func(int x = 1,int y,int z = 2);int func(int x = 1,int y = 1,int z);等情況。

如果我們像int func(int x,int y = 1,int z = 2);這樣指定了預設值,如果y使用了預設值,z也必須使用預設值。要不然的話,會造成混亂,從這裡我們也可以看出為什麼指定預設引數的時候,要從右邊指定起。

如果你的函式引數,只有中間的引數需要指定預設值,那我們可以調換一下函式引數的位置就行了。

c 函式中的預設引數

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

C (帶有預設引數的函式引數)預設函式引數

預設引數?在c 中,允許實參的個數與形參的個數不同。在宣告函式原型時,為乙個或者多個形參指定預設值,以後呼叫這個函式時,若省略某乙個實參,c 則自動的以預設值作為相應引數的值。實列說明 includeusing namespace std int add int x 4,int y 7 int ma...

c 中函式的預設引數 5

一.預設引數定義與用法 其實也是為了方便,預設引數 在宣告某個函式時將它的引數也初始化,那麼這些引數就是該函式的預設引數,又叫預設引數,看 include using namespace std void fn int a 4 int main void fn int a 總結一下 怎麼說呢,c 中...