@lem_prod

Где же динамика памяти?

На сколько я понял при объявление статического массива
int arr[n]
arr по факту является указателем, и вообще эта конструкция равносильна
int* arr = new arr[n]
то есть, что там что там можно сделать обращение через "*" и arr[n]

почему же, в первом случае говорят, что происходит статическое выделение памяти, а во втором динамическое?
  • Вопрос задан
  • 377 просмотров
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
В первом случае идет выделение памяти на стеке, т.е. просто меняется значение регистра ESP.
Размер этой памяти ограничен значением указанным при инициализации потока, по умолчанию 1 Мб.

Во втором, вы получаете указатель на динамически выделенную память. В этом случае вы можете выделить значительно больше памяти. Ограничение только на разрядность системы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы