小記 可變引數

2021-10-08 04:25:42 字數 1139 閱讀 6283

遇到方法的引數列表資料型別已經確定,但是引數的個數不確定,可以使用可變引數

常常在自定義的方法中使用:

​ 修飾符 返回值型別 方法名(資料型別 … 變數名)

可變引數底層是乙個陣列。根據傳遞引數個數不同,建立不同長度的陣列,來儲存這些引數傳遞的引數個數(num>=0)。

​ a.乙個方法的引數列表只能有乙個可變引數;

​ b.若方法的引數有多個,那麼可變引數必須寫在引數列表的末尾。

示例:

// a.錯誤示範

// 引數列表有乙個以上的可變引數

public

static

void

method

(int..

.num,string.

..str)

// b.引數列表有多個引數,可變引數放在最後乙個

public

static

void

method

(int num,string str,

double dou,

int.

..nums)

//???可變引數的終極寫法

public

static

void

method

(object.

..object)

public

class

demo03varargs

// 引數個數不定,用可變引數來解決

public

static

intadd

(int..

.arr)

// 可變引數的累加運算

public

static

intaddnum

(int..

.num)

// 累加的和

return sum;

}}

可變引數列印 解析可變引數

1.的一般用法 define str s s define cons a,b int a e b int main 2.接受,列印可變引數 參考 glibc庫的bebug函式 define printf fmt,args.printf fmt,args 使用方法 define pr debug fm...

可變引數 函式 可變引數列表 1

我們在c語言程式設計中有時會遇到一些引數個數可變的函式,即函式的入參個數和型別是不確定的,例如printf 函式,其函式原型為 int printf char format,它除了有乙個引數format固定以外,後面跟的引數的個數和型別是可變的 用三個點 做引數佔位符 實際呼叫時可以有以下的形式 p...

可變引數及可變引數巨集的使用

我們在c語言程式設計中會遇到一些引數個數可變的函式,例如printf 這個函式,這裡將介紹可變函式的寫法以及原理.一般在除錯列印debug 資訊的時候,需要可變引數的巨集.從c99開始可以使編譯器標準支援可變引數巨集 variadic macros 另外gcc 也支援可變引數巨集,但是兩種在細節上可...