будет в куче
трят на следующую программу и не уверен, как выделяется память и почему:
void function() {
char text1[] = "SomeText";
char* text2 = "Some Text";
char *text = (char*) malloc(strlen("Some Text") + 1 );
}
В приведенном выше коде последний явно находится в куче. Однако, как я понимаю, text2 находится в сегменте данных программы, а text1 может быть в стеке. Или мое предположение неверно? Какое правильное предположение здесь? Зависит ли этот компилятор?
Спасибо