相关疑难解决方法(0)

C语言中字符串文字的"生命周期"

以下函数返回的指针不会无法访问吗?

char *foo( int rc ) 
{
    switch (rc) 
    {
      case 1:           return("one");
      case 2:           return("two");
      default:           return("whatever");
    }
}
Run Code Online (Sandbox Code Playgroud)

所以C/C++中局部变量的生命周期实际上只在函数内,对吧?这意味着,在char* foo(int)终止后,它返回的指针不再意味着什么?

我对本地var的生命周期有点困惑.谁能给我一个很好的澄清?

c function local-variables lifetime string-literals

79
推荐指数
5
解决办法
2万
查看次数

标签 统计

c ×1

function ×1

lifetime ×1

local-variables ×1

string-literals ×1