当前位置: 首页 > news >正文

wordpress视频网站用什么播放器求网站2021在线观看

wordpress视频网站用什么播放器,求网站2021在线观看,网站制作西安,学做网站要学什么东西文章目录 1 前言2 实例2.1实例程序2.2程序执行结果2.3 程序分析 3 补充4 总结 1 前言 在编程过程中#xff0c;有时会遇到需要定义参数数量不固定的函数的情况。 C语言提供了一种灵活的解决方案#xff1a;变参函数。这种函数能够根据实际调用时的需求#xff0c;接受任意… 文章目录 1 前言2 实例2.1实例程序2.2程序执行结果2.3 程序分析 3 补充4 总结 1 前言 在编程过程中有时会遇到需要定义参数数量不固定的函数的情况。 C语言提供了一种灵活的解决方案变参函数。这种函数能够根据实际调用时的需求接受任意数量的参数。 本文将通过具体的实例程序介绍如何定义和使用变参数函数并分析其原理。 2 实例 2.1实例程序 下面这段代码实现了一个名为 average 的可变参数函数用于计算平均值。该函数接受一个固定参数 num指示将要计算平均的数值个数随后跟随着省略号 …表示其后跟随的是不定数量的数值参数。 #include stdio.h #include stdarg.hdouble average(int num,...) {va_list valist;double sum 0.0;va_start(valist, num); //为 num 个参数初始化 valist /* 访问所有赋给 valist 的参数 */for (int i 0; i num; i){sum va_arg(valist, int);}va_end(valist); //清理为 valist 保留的内存return sum/num; }int main() {printf(Average of 2, 3, 4, 5 %f\n, average(4, 2,3,4,5));printf(Average of 5, 10, 15 %f\n, average(3, 5,10,15)); }2.2程序执行结果 2.3 程序分析 1.函数参数传递的原理 为更好的理解变参数函数首先介绍下函数函数参数传递的原理。传入参数是以栈的形式存取举个例子声明一个函数如下 void fun(int x, float y, char z);在调用函数 fun 时参数按照相反的顺序入栈首先是 int x接着是 float y最后是 char z即在内存中的存储顺序是 z-y-x。 知道这些参数在内存中是连续存储的从理论上讲如果我们能够探测到这些参数中的任意一个变量的内存地址并且了解其类型以及相关类型的内存布局我们可以使用指针算术来计算并访问其他参数的地址。 2.变参函数 average() 的执行遵循以下符合参数传递原理的步骤 创建一个va_list 类型 变量valist用于存储变参函数的参数列表使用 宏 va_start用于初始化 va_list类型的变量确保它指向变参函数的第一个命名参数 num该参数地址紧邻可变参数区域...利用 宏 va_arg 来访问参数列表valist中的每个int类型项每次调用后 valist 将自动更新以指向下一个参数使用宏 va_end 来清理赋予valist变量的内存 通过上面对变参函数的分析可知变参函数并不是所有的参数都可以省略即函数不能定义成fun(...) 这种形式至少需要一个固定参数如实例程序中的num来作为变参列表的开始标记 3 补充 下面再介绍一个实例拓展一下变参函数的使用它通过变参函数列表和vsnprintf函数格式化字符串输出整数、浮点数等类型的变量。 1.程序 #include stdio.h #include stdarg.hint i1; double j 45.67; char message[50];void fun(const char *format, ...) {va_list args;va_start(args, format);vsnprintf(message, sizeof(message), format, args);va_end(args);// 打印格式化后的字符串printf(%s\n, message); }int main(void) {fun(var1: %d, i);fun(var1: %d var2: %f , i, j);return 0; }2.程序执行结果 3.函数vsnprintf介绍 vsnprintf函数是一个C语言标准库函数用于将格式化的数据写入到一个字符串缓冲区中并且可以指定最大写入的字符数。 函数原型 int vsnprintf(char *str, size_t size, const char *format, va_list arg);参数说明 str指向用于存储格式化后的输出的字符数组的指针。size缓冲区的大小以字符为单位包括空字符‘\0’的空间。如果size为0vsnprintf将不写入任何字符但会返回需要的缓冲区大小不包括空字符。format格式化字符串指定了如何格式化后续参数。argva_list类型的参数列表包含了要格式化的参数。 返回值 vsnprintf返回写入到str缓冲区中的字符数不包括终止的空字符’\0’如果发生错误或者缓冲区大小不足以容纳所有字符则返回负值。 实例程序中main函数中调用fun(var1: %d var2: %f , i, j);时其内部vsnprintf函数的调用相当于直接使用vsnprintf(message, sizeof(message), var1: %d var2: %f , i, j);进行格式化输出。 4 总结 本文将通过具体的实例程序介绍了如何定义和使用变参数函数并分析其原理。 参考链接 va_start 用法 C 可变参数 【C语言】vsnprintf函数的使用
http://www.w-s-a.com/news/341754/

相关文章:

  • 慕课联盟网站开发实战六安品牌网站建设电话
  • 制作企业网站首页贵州小程序制作开发
  • 什么是网站后台郑州众志seo
  • 做线上交互的网站分销平台
  • 培训机构网站开发江门cms模板建站
  • 网站描述模板建筑模型网站有哪些
  • 域名注册费用张家界seo
  • 淘宝联盟怎么自己做网站山西省住房与城乡建设厅网站
  • 最新网站建设常见问题使用微信推广的各种方法
  • 购物网站建设课程设计报告做木工的网站
  • 扶沟县网站开发网站建设在哪里进行
  • 查看网站服务器信息网站首页地址 网站域名
  • 网站网站制作网站的ui界面设计案例分析
  • 怎么查网站是否备案成都装修公司联系电话
  • 佛山免费发布信息的网站oa办公系统排行榜
  • 南湖区建设街道办事处网站汕头建设银行各支行电话
  • 复古风格网站网站套餐方案
  • 界面设计做的好的网站旅游商城网站模板
  • 大型电子商务网站 服务器硬件 cpu 内存 硬盘 2014美食网站开发意义
  • 建立网站的目的和意义网站建设寻求
  • 邢台手机网站建设设计师培训心得
  • 营销网站怎么做丽水微信网站建设哪家好
  • 南昌定制网站开发多少钱东阿县城市建设局网站
  • 浙江网站建设公司南昌seo招聘
  • 工业软件有哪些专业seo站长工具全面查询网站
  • 山东兴华建设集团有限公司网站和京东一样做电子产品的网站
  • 网站建设谢辞关于h5的网站模板
  • 网站改版提交WordPress360收录
  • 省级网站 开发建设 资质在国外怎么做网站
  • 中商华兴建设有限公司网站我的世界查找建筑网站