Realloc
realloc
Функция Перераспределяет память.
Синтаксис #include
void * realloc(void *block, size_t size);
Файл, содержащий stdlib.h и alloc.h прототип
Описание realloc пытается сжать или увеличить предваритель- выделенный блок до размера в size байт. Аргумент block указывает на блок памяти, полученный при вызове функций malloc, calloc или realloc. Если block является нулевым указателем, realloc рабо- тает также как и malloc.
realloc изменяет размер выделенного блока памяти и при необходимости копирует его содержимое в но- вый блок.
Возвращаемое realloc возвращает адрес блока, который может от- значение личаться от исходного. Если блок не может быть выделен или size равно 0, то realloc возвращает NULL.
Переносимость realloc доступна в системах UNIX и поддерживается стандартом ANSI C.
Смотрите также
Пример:
#include
#include
#include
int main(void) { char *str; /* выделить память под строку */ str = malloc(10); /* скопировать в строку "Hello" */ strcpy(str,"Hello"); /* вывести строку */ printf("Строка: %s\n, Адрес: %p\n",str,str); str = realloc(str,20); printf("Строка: %s\n, Новый адрес: %p\n",str,str); /* освободить память */ free(str); return 0; }