前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基础知识 | 每日一练(138)

基础知识 | 每日一练(138)

作者头像
小林C语言
发布2019-10-10 16:41:03
3160
发布2019-10-10 16:41:03
举报

基础知识练习

士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ——菜根谭

读者:怎样实现一个可变参数函数, 它把参数再传给另一个可变参数函数?

小林:通常来说, 你做不到。理想情况下, 你应该提供另一个版本的函数, 这个函数接受 va list 指针类型的参数。类似于 vfprintf()。如果所有的参数必须完整的传给另一个函数, 或者你不能重写另一个函数为一个接受 va list 指针类型参数的函数, 这并没有一个可移植的解决方法。也许可以通过求助于机器的

汇编语言来实现。

读者:怎样调用一个参数在执行是才建立的函数?

小林:这没有一个保证工作或可移植的方法。也许你可以试着传一个无值型指针 (void *) 数组, 而不是一个参数序列。被调用函数遍历这个数组, 就象 main() 遍历 argv 一样。当然这一切都建立在你能控制所有的调用函数上。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档