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

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

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

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

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

79
задан RiaD 17 August 2013 в 13:36
поделиться