reallocarr()

Перераспределить память, выделенную для массива

Прототип:

#include <stdlib.h>
int reallocarr( void *ptr,
size_t number,
size_t size );

Аргументы:

ptr
Указатель на массив, память которого подлежит перераспределению.
number
Число элементов массива.
size
Размер одного элемента мессива.

Библиотека:

libc

Описание:

Функция reallocarr() позволяет перераспределить (освободить и выделить повторно с новыми характеристиками) память, выделенную ранее для массива, определенного параметром ptr. Параметры number и size определяют новые характеристики массива: число элементов и размер одного элемента.

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

0
Успешное завершение, указатель ptr обновлен.
!0
Ошибочное завершение (возвращен код errno), указатель ptr и связанная с ним память не модифицировались.

Примеры:

#include <stdlib.h>
int *data = NULL;
int ret = 0;
ret = reallocarr( &data, INITSIZE, sizeof( *data ) );
if ( ret )
errc( 1, ret, "reallocarr failed" );
ret = reallocarr( &data, NEWSIZE, sizeof( *data ) );
if ( ret )
errc( 1, ret, "reallocarr failed on resize" );

Классификация:

BSD

Поддерживается, начиная с ЗОСРВ «Нейтрино» редакции 2020

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

calloc()




Предыдущий раздел: Описание API системной библиотеки