Он уже делает это. Действительно. Он просто не записывает его. Не убежденный? Наблюдайте, что он проходит стандартный цикл разработки:
, Шаг № 3 является тестом. Он уже делает тестирование, он просто делает это вручную. Задайте ему этот вопрос: "Как Вы знаете завтра, что код с сегодняшнего дня все еще работает?" Он ответит: "Это - такой небольшой объем кода!"
Спросите: "Как насчет следующей недели?"
, Когда у него не будет ответа, спросите: "Как хотели бы Вы Вашу программу говорить Вам, когда изменение повреждает что-то, что вчера работало?"
Это - то, о чем автоматическое поблочное тестирование - все.
Преимущество заключается в том, что при перераспределении сохраняется содержимое памяти. С помощью free + malloc вам нужно будет сбросить данные в массиве.
Что ж, realloc может изменить размер блока на месте или выделить новый и скопировать столько, сколько поместится. Напротив, malloc и free вместе могут выделить только новый, и вам придется делать свое собственное копирование.
Откровенно говоря, realloc не так широко используется в наши дни, потому что он плохо работает с C ++. В результате у менеджеров памяти была тенденция не оптимизировать для этого.
«вместо использования функции free () перед повторным вызовом функции malloc ()»
Если вы освободите существующий массив, вы потеряете все его содержимое, поэтому не сможете » расти "массив в обычном смысле.