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.