如何解决如何将“虚拟”参数传递给C中的函数?
出于这个问题的目的,我不会报告所有代码,而只是报告重要细节。 我有这个功能:
void foo(/* SOME OTHER ARGS */ int* len);
此函数(由于在其他情况下我需要len
,因此我无法编辑也不想进行编辑)创建文件并相应地修改len
参数。在某些情况下,我根本不需要len
,因此我的问题是:有没有一种方法可以传递硬编码的伪参数而无需为此目的声明伪变量?
解决方法
如果您不打算使用len
,并且foo()
已准备好处理通过len
传递的空值,则可以像这样调用函数
foo (validparams,NULL);
,
复合文字的元素是可修改的,因此如果函数需要有效的地址,则可以传递其地址。
SwiftUI
请注意,表达式中的大多数数组都将转换为其首个元素的地址。
更多信息:c99 - Why are compound literals in C modifiable - Stack Overflow
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。