c - 未使用的输出参数
问题描述
当 C 函数通过引用返回值时,我是否需要将有效指针传递给函数以获取我不需要的输出值?以函数为例:
max_f32(float32_t *x, float32_t *val, size_t *i);
whereval
和i
are return values 但我只关心 result val
。
我是否需要将有效指针传递给参数i
,还是可以传递某种虚拟指针或NULL
?C有处理这种事情的机制吗?例如,Python 可以_
在这种情况下返回。
我意识到为其分配变量并不是非常繁琐,i
并且编译器会对其进行优化。但我想更好地理解 C 语言的这一部分。
解决方案
这取决于函数的创建者;他们可以选择允许未使用的指针为 NULL,或者可以选择要求传递一个有效的指针。
希望它们还包含足够的文档,以明确每个参数是否需要有效,或者可能为 NULL。
推荐阅读
- ssh - 从 Gitlab CI SSH 到远程服务器: ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): 没有这样的文件或目录。权限被拒绝(公钥,密码)
- php - mPDF:如何使用粗体文本使用 WriteCell 函数?
- c# - 根据选择的编码,空终止符占用多少字节?
- reactjs - Typescript/Javascript 自定义钩子
- haskell - 在 Haskell 中找到自由幂等幺半群的元素的最小形式
- javascript - ECharts js - 自定义 HTML 图例
- powershell - 如何使powershell提示更短?
- python - 如何在 Visual Studio 中轻松查看“导入”中的代码(例如 Django 代码)
- csv - 如何将geotif文件.tiff提取到csv
- android - 如何防止其他应用程序访问我的小部件提供程序