Russian Belarusian English German Japanese Ukrainian

Calloc

CuBook05

Функция

Выделяет оперативную память.
 
Синтаксис

#include <stdlib.h>
void *calloc(size_t nitems, size_t size);
 
Прототип

stdlib.h
alloc.h
 
Описание

Функция calloc обеспечивает доступ к динамической области памяти. Динамическая область памяти доступна для динамического распределения блоков памяти переменной длины. Многие структуры данных, например, деревья и списки, используют распределение динамической области памяти. Все пространство памяти между концом сегмента данных и верхушкой программного стека доступно для использования в моделях памяти small (tiny, small, medium), кроме небольшой области в самой верхней части стека. Это пространство необходимо для роста стека прикладной программы и плюс небольшая часть, используемая DOS. В моделях памяти типа large (compact, large, huge) все пространство за границей программного стека до конца физической памяти доступно для динамической области памяти. Функция calloc выделяет блок памяти размером nitems x size. Блок обнуляется. Если вы хотите выделить блок, размер которого превышает 64К то нужно использовать функцию farcalloc.
 
Возвращаемое значение

Функция calloc возвращает указатель на выделенный блок. Calloc возвращает NULL, если недостаточно памяти для выделения нового блока, или nitems или size равны 0.
 
Переносимость

Поддерживается в системах UNIX и определена в ANSI.
 
Пример

#include<stdio.h>
#include<alloc.h>
#include<string.h>

int main(void)
{
char *str = NULL;
/* выделить память для строки */
str = calloc(10,sizeof(char));
if(str)
{
/* скопировать в строку "Hello" */
strcopy(str,"Hello");
/* вывести строку */
printf("Строка : %s\n",str);
/* освободить память */
free(str);
}
else
{
printf("Недостаточно памяти\n");
}
return(0);
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

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


Защитный код Обновить