Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

calloc

calloc


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

Синтаксис          #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
                   C. Описана в Керниган и Риччи.

Смотрите также     faralloc, free, malloc, realloc.

Пример:

#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);
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог