Как вы получаете конечный адрес массива в памяти? C программирование - PullRequest
0 голосов
/ 13 апреля 2020

Если у меня есть адрес в памяти для начала целочисленного массива, как мне определить конечный адрес массива?

Например, если бы массив начинался с 0xFF000000, как бы вы вернули адрес, где заканчивается массив?

1 Ответ

0 голосов
/ 13 апреля 2020

учитывая адрес для массива целых чисел, вам нужно знать, сколько в массиве, так как целое число может быть ноль. Другими словами, без разделителя, указывающего конец массива, невозможно узнать, сколько значений было НАСТОЯЩЕМ сохранено в массиве.

базовый массив кучи c должен по крайней мере иметь вторую переменную хранения количество элементов. как еще было правильно распределено?

int nElements = 10; int *pInts = (int*)malloc(nElements * sizeof(int)); int *pEndOfArrayAddress = pInts + (nElements-1);

...