遇到方法的引數列表資料型別已經確定,但是引數的個數不確定,可以使用可變引數。
常常在自定義的方法中使用:
修飾符 返回值型別 方法名(資料型別 … 變數名)
可變引數底層是乙個陣列。根據傳遞引數個數不同,建立不同長度的陣列,來儲存這些引數傳遞的引數個數(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 也支援可變引數巨集,但是兩種在細節上可...