«Время жизни» строкового литерала в C

Не будет ли указатель, возвращенный следующей функцией, недоступным?

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

Таким образом, время жизни локальной переменной в C / C ++ практически только внутри функции, верно? Что означает, послеchar* foo(int) завершается, указатель, который он возвращает, больше ничего не значит?

Я немного запутался в жизни местного вар. Кто-нибудь может дать мне хорошее разъяснение?

Ответы на вопрос(9)

Ваш ответ на вопрос