«Время жизни» строкового литерала в C
Не будет ли указатель, возвращенный следующей функцией, недоступным?
char *foo( int rc )
{
switch (rc)
{
case 1: return("one");
case 2: return("two");
default: return("whatever");
}
}
Таким образом, время жизни локальной переменной в C / C ++ практически только внутри функции, верно? Что означает, послеchar* foo(int)
завершается, указатель, который он возвращает, больше ничего не значит?
Я немного запутался в жизни местного вар. Кто-нибудь может дать мне хорошее разъяснение?