Как правильно использовать realloc (), когда он терпит неудачу и возвращает NULL?

Кто-нибудь может подвести итог, как правильно использоватьrealloc()?

Что ты делаешь, когдаrealloc() потерпит неудачу?

Из того, что я видел до сих пор, кажется, что еслиrealloc() не удается, вы должныfree() старый указатель Это правда?

Вот пример:

   1.  char *ptr = malloc(sizeof(*ptr) * 50);
   2.  ...
   3.  char *new_ptr = realloc(ptr, sizeof(*new_ptr) * 60);
   4.  if (!new_ptr) {
   5.      free(ptr);
   6.      return NULL;
   7.  }

предполагатьrealloc() терпит неудачу на линии3, Я правильно делаю на линии5 отfree()ИНГptr?

Ответы на вопрос(3)

Ваш ответ на вопрос