linux下面的可变参数控制函数

发布时间:2017-1-17 14:48:52 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"linux下面的可变参数控制函数",主要涉及到linux下面的可变参数控制函数方面的内容,对于linux下面的可变参数控制函数感兴趣的同学可以参考一下。

这一组函数涉及的stdarg.h头文件,可以实现函数参数的变长传递,在头文件中定义了一个va_list,这个变量是一个字符指针,由va_start,va_end界定 typedef struct{     char *a0;     int offset;           }va_list; 可变长的参数控制函数 void va_start (va_list ap,last); type  va_arg(va_list ap,type); void va_end(va_list ap) void va_copy(va_list dest,va_list src) 在调用参数表以前,定义一个va_list类型变量 对ap进行初始化,初始化后ap指向可变参数表中第一个参数,该功能通过ca_start函数实现 获取参数,调用va_arg,第一个参数是ap,第二个参数是要获取的参数的指定类型,然后返回这个指定类型的值,并且把ap的位置指向便参数的像一个变量位置 获取所有的参数后,需要关闭这个ap指针,调用va_end函数即可 例子: #include <stdio.h> #include <stdarg.h> int max(int n,....) {     int i;     va_list ap;     va_start(ap,n);     int max = -0x7fffffff;     int tmp;     for(i = 0;i < n ;i++)         {             tmp = va_arg(ap,int);             if(max <tmp)                 max = tmp;         } .    va_end(ap);      return max;  } int main()       {         printf("The max value of max() is %d\n",max(1,10,20,5));     }

上一篇:15款业界公认的最佳视频处理软件
下一篇:linux中c语言的扩展库函数之文件操作

相关文章

相关评论