Распределение памяти статически распределенных массивов всегда последовательно с точки зрения значения адреса? - PullRequest
3 голосов
/ 25 июня 2019

Когда мы создаем массив в стеке, скажем, int arr[20];, гарантируется ли, что каждая ячейка массива находится на расстоянии 4 байта в памяти? Или может случиться так, что некоторые ячейки не будут выделены последовательно?

1 Ответ

6 голосов
/ 25 июня 2019

Массив гарантированно хранится в непрерывной памяти. Арифметика указателя определяется таким образом, что

&arr[i] + 1 == &arr[i + 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...