Язык программирования C



         

Управление памятью


функция calloc весьма сходна с функцией alloc, использованной нами в предыдущих лекциях. В результате обращения

calloc(n, sizeof(objcct))

возвращается либо указатель пространства, достаточного для размещения n объектов указанного размера, либо null, если запрос не может быть удовлетворен. Отводимая память инициализируется нулевыми значениями.

указатель обладает нужным для рассматриваемых объектов выравниванием, но ему следует приписывать соответствующий тип, как в

char *calloc(); int *ip; ip=(int*) calloc(n,sizeof(int));

функция cfree(p) освобождает пространство, на которое указывает "p", причем указатель "p" первоначально должен быть получен в результате обращения к calloc. Здесь нет никаких ограничений на порядок освобождения пространства, но будет неприятнейшей ошибкой освободить что-нибудь, что не было получено обращением к calloc.

Реализация программы распределения памяти, подобной calloc, в которой размещенные блоки могут освобождаться в произвольном порядке, продемонстрирована в лекции №8.

on_load_lecture()

Перейти к вопросам »

  Если Вы заметили ошибку - сообщите нам.  

Страницы:

« |

1

|

2

|

3

|

4

|

5

|

6

|

вопросы | »

|

для печати и PDA

Курсы | Учебные программы | Учебники | Новости | Форум | Помощь



Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru

© 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование




Содержание  Назад  Вперед