当没有有效值返回时,在C中怎么办?

Tre*_*vör 1 c declaration function

我有一个由几个参数和一个唯一id定义的元素数组,我创建了一个函数,它返回与某个唯一id相关联的元素,问题是如果输入了一个无效的ID(一个未被存储的ID) array),我的函数没有返回的有效值.

我的问题是,如果函数不一定返回某些内容,我的代码将无法编译,有没有办法告诉编译器这可以在这里做到这一点?

谢谢.

Vla*_*cow 7

有几种方法可以做到这一点.

最简单的方法是返回一个不在有效值范围内的值.

另一种方法是声明另一个参数,该参数是指向充当错误的变量的指针.或者返回错误值并将有效值作为参数声明为引用.

例如

int /* error */ f( T *valid_value );
Run Code Online (Sandbox Code Playgroud)

另一种方法是返回两个值的结构,其中一个值是报告失败或成功的布尔值.