функции realloc и malloc

Посмотрите на код:

#include<stdio.h>


 #include<stdlib.h>
void main()
{
  int *p;
  p = malloc(6);
  p = realloc(p, 10);
  if (p == NULL)
  {
    printf("error");
   exit(1);
   }
}

Возьмем этот пример для кода. Предположим, что общая память составляет 10 байтов, а 2 байта используется объявлением указателя на тип int и более 6 байтов функцией malloc. Оставшиеся 2 байта заняты другими программами, теперь, когда я запускаю функцию realloc чтобы расширить память, на которую указывает указатель, он будет искать в памяти 10 байт, а когда он недоступен, он выделяет 10 байт памяти из области кучи, копирует содержимое malloc и вставляет его в новую выделенную область памяти в области кучи и затем удалите память, хранящуюся в malloc, верно?

Возвращает ли realloc () указатель NULL, потому что память недоступна? Без прав!? Это идет в область кучи для распределения памяти правильно? Это не возвращает нулевой указатель, верно?

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

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