Этот ответ является подсказкой, а не полным решением.
Если вы хотите удалить элемент 2 , вы можете просто переместить данные с адреса элемент 3 размером 3 элемента (3..5) по адресу элемент 2 с использованием memmove
.
После этого уменьшения nrOfItemsAdded
.
При желании вы можете realloc()
памяти в меньшем размере.
Если вы не уменьшите выделенный размер, вы можете дополнительно использовать memset
, чтобы очистить память 1 элемента по (старому) адресу , элемент 5 . На самом деле в этом нет необходимости, поскольку nrOfItemsAdded
сообщает, что этот элемент не используется, и память будет перезаписана при следующем вызове addItems
.