微博:http://weibo.com/u/2203007022
(1) C语言可变参数
我们可以从C语言的printf得出可变参数的作用,printf函数的原型如下:int printf ( const char * format, ... );通过使用可变个数参数,就是传入的参数个数是可变的,如printf需要根据format实参传入多个实参。
(2) C语言可变参数的使用
下面一个函数myprintf是自己实现的比较简单的printf函数,不完整但是可以说明可变参数的用法。/*
* Author: guojun07
*/
#include <stdio.h>
#include <stdarg.h>
#include <unistd.h>
#include <string.h>
void myprintf(char *format, ...) {
va_list ap;
int pos = 0;
int int_val = 0;
float f_val;
char buf[64];
memset(buf, 0, 64);
// 得到所有的参数放到下一个list中ap中
va_start(ap, format);
while (format[pos] != '\0