Что означает случайно инициализированные данные для кучи памяти? - PullRequest
0 голосов
/ 04 апреля 2020

Как я читал, int x[50]; инициализируется в стеке по порядку. int* x = (int*) malloc(50*sizeof(int)) ; инициализируется в куче случайным образом (?). Итак, мой вопрос заключается в том, означает ли случайно, что эти 50 целых чисел могут храниться не в строке?

Я имею в виду, 20 целых чисел могут быть в строке, остальные 25 - в другом адресе памяти, а остальные 5 - в другом месте памяти?

И последнее: каждый раз, когда мы изменяем размер массива с помощью reallo c, он копирует все данные в новое место, достаточно большое для нового размера, поэтому он работает также для векторов в C ++, созданных на куча или стек?

спасибо за ваш ответ.

...