gpt4 book ai didi

c - 返回 char* 的空数组

转载 作者:行者123 更新时间:2023-11-30 20:02:37 25 4
gpt4 key购买 nike

如果我想返回一个空的char*,我可以这样做

char* Fun1(void) {
return "";
}

现在想象一下 char** 遇到同样的问题,我想返回一个 char* 的空数组。

是否有更短的方法可以在不使用临时变量的情况下编写此代码?

char** Fun2(void) {
char* temp[1] = {""};
return temp;
// return {""}; // syntax error !
}

目标是隐藏字符串可以是 NULL 指针的事实。

最佳答案

与您对字符串文字所做的等效操作如下:

char const* const* Fun2(void) {
static char const* const tmp[] = {""};
return tmp;
}

但正如我在对该问题的评论中所说,您可能需要重新思考“空”的含义。

您还需要考虑如果返回为空的情况,您将要做什么。如果调用者应该释放返回的指针,则返回指向字符串文字和/或静态数组的指针是不可行的。

关于c - 返回 char* 的空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11115730/

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