关于变长参数表的
来源:互联网 发布:爱知大学在日本排名 编辑:程序博客网 时间:2024/04/29 17:38
C中可以定义变长参数表,但是没有名字的情况下怎么样去使用这些参数。不过C语言既然支持这种表示方式,也提供了方法去访问他们
va_list fp 定义了一个参数指针用来指向匿名参数
va_start(fp,from)这是对参数指针初始化,在使用参数指针的时候必须要进行初始化,from是有名参数的最后一个,这样fp就指向第一个无名参数了
va_arg(fp,int) 去参数,根据你提供的步长去去参数,这里我是去int长,你可以是double之类的
va_end(ap) 这个是清楚信息使用的
#include<stdarg.h>#include<stdio.h>void minprintf(char *format,...){ int ival = 0; double dval = 0; char *sval = NULL,*p = NULL; //参数指针 va_list ap; //初始化参数指针,让他指向format后面的匿名参数 va_start(ap,format); for(p = format;*p;p++) {if(*p != '%'){ putchar(*p); continue;}//遇到%号跳过%号读取后面的那个字符switch(*++p){ case 'd':ival = va_arg(ap,int);printf("%d",ival);break; case 'f':dval = va_arg(ap,double);printf("%f",dval);break; case 's':sval = va_arg(ap,char*);printf("%s",sval);break; default:{ putchar(*p); break;}} } //清理工作 va_end(ap);}int main(){ int ival = 5; char *sval = "world!!"; minprintf("hello is %s",sval); return 0;}
- 关于变长参数表的
- 变长参数表
- 变长参数表
- 变长参数表
- 5.2 变长参数表(函数的实参个数可变)编程示例
- 【C】变长参数表及printf函数简化版的实现
- 命令行参数和变长参数表
- C语言中变长参数表printf的实现和参数入栈次序之间的关系
- 关于C的变长参数
- 关于C和C++中空参数表的函数的解释
- 变长参数表:<stdarg.h>介绍及在iOS中应用
- 模板参数表的写法
- C++main的参数表
- excel的读取参数表
- [原]关于变长参数
- 关于C的变长参数的思考心得(转载)
- 关于C的变长参数的思考心得(转载)
- 关于IN 后面传入ID列表参数表值函数的一个写法:非拼SQL
- 实现在XP中为QT编译MySQL驱动实例
- WPF:一个具有拖入和删除功能的图片框控件
- 对android NDK的认识
- android中SQLite的使用总结,用excSQL和rawQuery方法实现一般得增删改查
- Vim Tab使用技巧
- 关于变长参数表的
- Win32 绘图理解
- (转载)幽默:程序员的进化
- Make 笔记: 空目标
- AVI格式解析
- yahoo Rss
- ORACLE 10g下载地址---[Oracle 10g]
- LIVE555 mediaServer 与 VLC
- 实现和调用自定义扩展方法