Только начал изучать C и наткнулся на следующий вопрос:Shrink целочисленный массив C
мне нужно сжать целочисленный массив в C, удаление в конце элементов. Устраняя, я имею в виду освобождение. Общий ответ - выделить новую память для меньшего массива, после чего скопировать все элементы (-элементы для удаления) исходного массива в недавно выделенную память, а затем освободить() исходный массив.
Поскольку я должен иметь дело с очень больших массивов, я бы скорее пропустил часть копирования.
Возможно ли создать указательную переменную, которая указывает на «ближе к концу исходного массива» размера «конец массива - ближе к концу», а затем освободить этот указатель?
Заранее спасибо
Вы можете сжимать, используя 'realloc'. Это не гарантируется, но некоторые реализации фактически вернут вам исходный указатель, который вы передали, без копирования чего-либо. – cnicutar
Считаете ли вы использование 'realloc'? –
Будет ли realloc также освобождать все элементы в конце? Я бы не знал, как проверить это ... спасибо за быстрый ответ! –