给自己扫盲_C语言_可变参数访问

这里只谈应用。

利用stdarg.h

va_list 是指向本函数参数的指针类型。

纯C在使用不定参数时候, 需要在第一个参数中传入实参的其他参数个数。

在访问不定参数之前先准备, 访问结束之后要结束。

#include<stdio.h>
#include<stdarg.h>

void testarg(int number_of_para,...){/*第一个参数是后面参数的个数*/
  va_list va_arg;/*定义指向本函数的指针*/
  int count;
  va_start(va_arg,number_of_para);/*准备访问可变参数*/
  printf("number of real parameter is%d\n",number_of_para);
  for(count=0;count<number_of_para;count++){ /*添加取自可变参数表的值 */
    printf("%d,",va_arg(va_arg,int));/*获取参数需要指定类型*/
  }
  va_end(va_arg);/*结束之后释放指针*/
}
int main(){
testarg(6,98,80,50,67,4,99);
return 0;
}



posted on 2012-03-14 15:23  hoary  阅读(315)  评论(0编辑  收藏  举报

导航