生活随笔
收集整理的這篇文章主要介紹了
C语言 可变参数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://www.cnblogs.com/zhanggaofeng/p/6434554.html
//可變參數
#include <stdio.h>
#include <stdlib.h>
#include <
string.h>
//引用頭文件
#include <stdarg.h>
/*
va_list用于聲明一個變量,我們知道函數的可變參數列表其實就是一個字符串,所以va_list才被聲明為字符型指針,
這個類型用于聲明一個指向參數列表的字符型指針變量,例如:va_list ap;//ap:arguement pointerva_start(ap,v),它的第一個參數是指向可變參數字符串的變量,第二個參數是可變參數函數的第一個參數,
通常用于指定可變參數列表中參數的個數。va_arg(ap,t),它的第一個參數指向可變參數字符串的變量,第二個參數是可變參數的類型。va_end(ap) 用于將存放可變參數字符串的變量清空(賦值為NULL).
*///@num:參數個數
int add(
int num, ...)
{va_list v;//保存可以變長的參數列表va_start(v,num);
//將形參num之后的所有參數保存到列表中int i =
0;for (i =
0; i < num; i++
){int data = va_arg(v,
int);
//按照Int類型獲取參數printf(
"%d\n",data);}//釋放列表
va_end(v);return 0;
}int run(
int num, ...)
{va_list v;va_start(v, num);int i =
0;for (i =
0; i < num; i++
){char *data = va_arg(v,
char *
);printf("%s\n", data);}va_end(v);return 0;
}void main()
{add(3,
1,
2,
3);run(3,
"hello",
"world",
"!");system("pause");
}
總結
以上是生活随笔為你收集整理的C语言 可变参数的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。