Описание функций C (Си) / C++ - realloc

Описание функций C (Си) / C++ - realloc


#include требуется только для объявления
функции

char *realloc(ptr,size);
char *ptr; указатель на ранее захваченный
блок памяти
unsigned size; новый размер в байтах

Описание.

Функция realloc изменяет размер ранее захваченного блока
памяти. Аргумент ptr указывает на начало блока. Аргумент size за-
дает новый размер блока в байтах. Содержимое блока не изменяется.
Аргумент ptr может указывать на блок, который должен быть осво-
божден прежде, чем последуют вызовы calloc, halloc, malloc,
realloc.

Возвращаемое значение.

Функция realloc возвращает char-указатель на перезахвачен-
ный блок памяти. Блок может быть передвинут, если его размеры из-
менены, поэтому аргумент ptr для функции realloc не обязательно
должен быть таким же, как и возвращаемое значение.
Возвращается значение NULL, если памяти недостаточно, чтобы
расширить блок к заданному размеру. Если это происходит, то пер-
воначальный блок освобождается.
В памяти, на которую указывает возвращаемое значение, га-
рантировано выравнивание для хранения любого типа объекта. Чтобы
получить указатель на тип, отличный от char, используется преоб-
разователь типа возвращаемого значения.
См.также caloc, free, halloc, malloc.


Пример:

#include
#include

char *alloc;

/* выбирает достаточно большое пространство для 50
символов */

alloc=malloc(50*sizeof(char));
.
.
.

/* перезахватывает блок, который содержит 100 символов */
if (alloc != NULL)
alloc=realoc(alloc,100*sizeof(char));






Опубликовал admin
11 Мар, Вторник 2008г.



Программирование для чайников.