gpt4 book ai didi

c - 返回不同数据类型的 C 函数的正确返回类型是什么

转载 作者:太空狗 更新时间:2023-10-29 15:20:03 27 4
gpt4 key购买 nike

我曾经被要求编写一个函数,该函数将在某些成功条件下返回指向内存中某些数据的指针,否则它应该返回“-1”。在这种情况下,正确的返回类型是什么。如果我只需要返回数据,那么我会将 char * 作为函数 myfunction 的返回类型。但在这种情况下,我可能会返回 -1 具有返回类型。

<what-type> myfunction() {

char *data;

if (some condition true)
return data;
else
return -1
}

int main () {

myfunction

}

最佳答案

使用 union 并可能为其定义一个 typedef

typedef struct {
int is_error;
union {
int error_code;
char *data;
}
} ReturnType;

然后

ReturnType myFunction(....) { ... etc }

调用者可以检查函数是否出错(获取返回错误代码)或获取数据否则。

关于c - 返回不同数据类型的 C 函数的正确返回类型是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16705103/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com