c - 在 C 中返回本地指针

标签 c

const char* returnStr()
{
    char time[40] = {"France"};
    char* time1;

    time1 = time;

    return time1;
}

int main(int argc, char* argv[])    {
    printf ("return String is %s\n",returnStr());
}

此代码返回一些垃圾字符。 const char* 是否不足以返回本地 char 指针?我是否也必须在函数中使用静态?

最佳答案

Do I have to use the static too in the function?

是的。 const 只是返回值的限定符,向 returnStr 的调用者发出信号,告知他们不应修改函数的结果。它不会改变 time 的临时字符。

关于c - 在 C 中返回本地指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8220401/

相关文章:

c - 如何正确地为 C 中的结构数组分配内存?

c# - 当从 C# 调用/编码(marshal)此结构到 C-DLL 时,为什么此字符串为空?

c - 在添加字符数组之前先对其进行移位

c - getc(null) 如何产生段错误?

c - GTK-doc 不呈现结构的文档注释

c - fopen() 与 gvim 编辑器不能很好地配合

在 C 中使用预处理器连接字符串

c - 在 C 中一次读取一个字节的文件效率如何?

c - 该函数损坏了我在 C 中的数组

C 从文件中读取以填充链表