CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
realloc - переразместить блок памяти
Описание
realloc изменяет размер ранее выделенного блока памя-
ти, на который указывает ptr. Размер этого блока после
обращения к realloc определяется параметром size. Если
size равен 0, блок освобождается и возвращается NULL.
Если ptr равен NULL, то отводится (по malloc) size
байтов памяти и возвращается указатель на этот массив
памяти. Если для расширения текущего блока места не
хватает, будет размещен новый блок, а текущий блок ос-
вободится. Текущие данные перепишутся в новый блок.
Использование
#include <stdlib.h>
void *realloc(void *ptr, unsigned size); /* ANSI */
Возвращаемое значение
Возвращается указатель на переразмещенный блок памя-
ти. Если нет подходящей памяти для выполнения realloc,
возвращается NULL (но память по ptr не освобождается).
Пример
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
char *ptr;
ptr = realloc(NULL, 20*sizeof(char));
strcpy(ptr, "Это первая часть, ");
ptr = realloc(ptr, 100*sizeof(char));
strcat(ptr, "Это вторая часть);
printf("%s\n", ptr);
realloc(ptr, 0);
}
Рекомендация
Смотрите также calloc, free, malloc.
Оставить комментарий
Комментарии
1.


16 декабря 2012, 02:21:10
Огромное спасибо, очень помогло!
