C語言細節 可變引數列表

2021-10-03 04:35:07 字數 715 閱讀 5887

使用示例:

標頭檔案引用

為了使用可變引數列表,你需要新增標準庫中的 「stdarg.h」

標頭檔案中定義的乙個型別和三個巨集

va_list

typedef

char

*va_list;

va : variable argument

va_start

#define va_start(ap, lastarg)	(ap = ((char *) &(lastarg) + __va_rounded_size (lastarg))));

va_arg

#define va_arg(ap, type) \

(ap += __va_rounded_size (type), \

*((type *) (ap - __va_rounded_size (type))))

va_end
#define va_end(ap)      ( ap = (va_list)0 )
注:va_end常與va_start成對使用

使用示例:

#include

#include

void

var_test

(char

*format,..

.)intmain()

C語言可變引數列表

c語言中類似於printf這種型別的函式,在呼叫它們時我們傳入的引數的型別和數量都不是固定的,這就需要可變引數列表,要使用可變引數列表,要用到以下幾種巨集。include void va start va list ap,last type va arg va list ap,type void v...

(C語言)可變引數列表

c函式要在程式中用到以下這些巨集 void va start va list arg ptr,prev param type va arg va list arg ptr,type void va end va list arg ptr va list 用來儲存巨集va start va arg和v...

C語言可變引數列表 1

嘗試使用c語言可變引數列表 對於一些函式有的時候,我們不希望它只能傳遞固定引數,例如如果我們想計算2個整數數之和寫乙個int sum int int 的函式,但是如果想計算3個數之和呢?n個數之和呢?不可能去定義無限多個函式,也不能讓函式的引數太多,形如int sum int int int int...