首页 > 解决方案 > 未使用的输出参数

问题描述

当 C 函数通过引用返回值时,我是否需要将有效指针传递给函数以获取我不需要的输出值?以函数为例: max_f32(float32_t *x, float32_t *val, size_t *i);wherevaliare return values 但我只关心 result val

我是否需要将有效指针传递给参数i,还是可以传递某种虚拟指针或NULL?C有处理这种事情的机制吗?例如,Python 可以_在这种情况下返回。

我意识到为其分配变量并不是非常繁琐,i并且编译器会对其进行优化。但我想更好地理解 C 语言的这一部分。

标签: cpointers

解决方案


这取决于函数的创建者;他们可以选择允许未使用的指针为 NULL,或者可以选择要求传递一个有效的指针。

希望它们还包含足够的文档,以明确每个参数是否需要有效,或者可能为 NULL。


推荐阅读