CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
calloc - дать память
Описание
Выделяет блок памяти под numelems элементов и разме-
ром sizelem байтов каждый. Память обнуляется и возв-
ращается указатель на нее. В случае ошибки(например,
недостаточно памяти) возвратится NULL. Если numelems
или sizelem равен 0,возвращается NULL. Размер запра-
шиваемой памяти не должен превышать 64 Кбайта.
Использование
#include <stdlib.h>
void * calloc(unsigned numelems, size_t sizelem);
/* ANSI */
Возвращаемое значение
В случае успеха возвращается указатель на выделен-
ную память; в противном случае - NULL.
Пример
/* компилировать в C или L модели*/
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
#define num 50
main()
{
long * buffer;
unsigned int segment, offset;
buffer = calloc(num, sizeof(long));
if(! buffer)
{
fprint(stderr, "Calloc не сработала\n");
abort();
}
segment = FP_SEG(buffer);
offset = FP_OFF(buffer);
printf("Память размещена в сегменте
%x смещение: %x\n", segment, offset);
free(buffer);
}
Рекомендация
Смотрите также free, malloc, realloc, farcalloc.
