realloc()
может возвращать другой указатель, чем исходный, но вы назначаете это на temp
только для того, чтобы вызывающая функция по-прежнему работала с исходным указателем. Измените double_array_size()
, чтобы вернуть новый указатель, возвращенный realloc()
, и вызвать
d = double_array_size(d, array_size);
. Кроме того, вы всегда должны проверять результат fo malloc()
, realloc()
и т. Д. Они могут возвращать NULL, если есть больше нет памяти