Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Realloc

CuBook05

Функция

Перераспределяет память.
 
Синтаксис

#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.
 
Пример

#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;
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий