Как я читал, int x[50];
инициализируется в стеке по порядку. int* x = (int*) malloc(50*sizeof(int)) ;
инициализируется в куче случайным образом (?). Итак, мой вопрос заключается в том, означает ли случайно, что эти 50 целых чисел могут храниться не в строке?
Я имею в виду, 20 целых чисел могут быть в строке, остальные 25 - в другом адресе памяти, а остальные 5 - в другом месте памяти?
И последнее: каждый раз, когда мы изменяем размер массива с помощью reallo c, он копирует все данные в новое место, достаточно большое для нового размера, поэтому он работает также для векторов в C ++, созданных на куча или стек?
спасибо за ваш ответ.