Я знаю, что это неправильно:
char* getSomething() {
char szLocal[5];
/* put something in the char array somehow */
return szLocal;
}
... потому что szLocal может быть уничтожен когда-то после возвращения функции.
Но это нормально?
char* getSomethingElse() {
return "something else";
}