realloc
Функция Перераспределяет память.
Синтаксис #include<stdlib.h>
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.
Смотрите также calloc, farrealloc, free, malloc.
Пример:
#include<stdio.h>
#include<string.h>
#include<alloc.h>
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;
}
|