3.2.1. Библиотечные вызовы: malloc() , calloc() , realloc() , free()

3.2.1. Библиотечные вызовы: malloc(), calloc(), realloc(), free()

Динамическую память выделяют с помощью функций malloc() или calloc(). Эти функции возвращают указатели на выделенную память. Когда у вас есть блок памяти определенного первоначального размера, вы можете изменить его размер с помощью функции realloc(). Динамическая память освобождается функцией free().

Отладка использования динамической памяти сама по себе является важной темой. Инструменты для этой цели мы обсудим в разделе 15.5.2 «Отладчики выделения памяти».

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

3.2.1.3. Освобождение памяти: free()

Из книги автора

3.2.1.3. Освобождение памяти: free() Когда вы завершили использование памяти, «верните ее обратно», используя функцию free(). Единственный аргумент является указателем, предварительно полученным с использованием другой функции выделения. Можно (хотя это бесполезно) передать


Глава 6 Общие библиотечные интерфейсы — часть 1

Из книги автора

Глава 6 Общие библиотечные интерфейсы — часть 1 В главе 5 «Каталоги и служебные данные файлов» мы видели, что непосредственное чтение каталога возвращает имена файлов в том порядке, в каком они хранятся в каталоге. Мы также видели, что struct stat содержит всю информацию о файле


Глава 12 Общие библиотечные интерфейсы — часть 2

Из книги автора

Глава 12 Общие библиотечные интерфейсы — часть 2 В главе 6, «Общие библиотечные интерфейсы — часть 1», был представлен первый набор API библиотеки общего пользования. В некотором смысле, эти API поддерживают работу с фундаментальными объектами, которыми управляют системы Linux


15.5.2.5. Другие отладчики malloc

Из книги автора

15.5.2.5. Другие отладчики malloc Две статьи Cal Ericson в Linux Journal описывают mtrace и dmalloc, а также большинство других перечисленных ниже инструментов. Эти статьи Memory Leak Detection in Embedded Systems, выпуск 101[184], сентябрь 2002 г., и Memory Leak Detection in C++, выпуск 110[185], июнь 2003 г. Обе статьи доступны на веб-сайте


AVG Free Edition

Из книги автора

AVG Free Edition Перейдем к одной из разработок чешской компании Grisoft – бесплатному антивирусу AVG Free Edition. Эта антивирусная программа обладает хорошей функциональностью, однако пользователь бесплатной версии может работать только с английским интерфейсом. AVG Free Edition лишена


AVG Free Edition

Из книги автора

AVG Free Edition Производитель: Grisoft (http://www.grisoft.com/).Статус: бесплатная.Страница для скачивания: http://www.grisoft.com/doc/Programs/lng/us/tpl/tpl01.Размер: 16,6 Мбайт.При оценке нового, малоизвестного антивируса принято сравнивать его с такими известными программами, как «Антивирус Касперского». В таком


A-squared Free

Из книги автора

A-squared Free Производитель: Emsi Software GmbH (http://www.emsisoft.com).Статус: бесплатная.Страница для скачивания: http://www.emsisoft.com/en/software/download/.Размер дистрибутива: 16,3 Мбайт.Специализация антивирусного пакета a-squared Free – защита компьютера от разнообразных почтовых инфекций: троянов, червей,


БИБЛИОТЕЧНЫЕ ФУНКЦИИ, КОТОРЫЕ МЫ ИСПОЛЬЗОВАЛИ

Из книги автора

БИБЛИОТЕЧНЫЕ ФУНКЦИИ, КОТОРЫЕ МЫ ИСПОЛЬЗОВАЛИ      Пока мы хотим только перечислить эти функции, чтобы напомнить о них.      Сначала приведем функции ввода-вывода: getchar( )           /* получение символа */putchar( )           /* печать символа */gefs( )              /* получение


РАСПРЕДЕЛЕНИЕ ПАМЯТИ: malloc( ) И са11ос( )

Из книги автора

РАСПРЕДЕЛЕНИЕ ПАМЯТИ: malloc( ) И са11ос( )      Ваша программа должна предоставить достаточный объем памяти для запоминания используемых данных. Некоторые из этих ячеек памяти распределяются автоматически. Например, мы можем объявить char place[ ] = "Залив Свиной печенки";и будет


ДРУГИЕ БИБЛИОТЕЧНЫЕ ФУНКЦИИ

Из книги автора

ДРУГИЕ БИБЛИОТЕЧНЫЕ ФУНКЦИИ      Большинство библиотек будут выполнять и ряд дополнительных функций в тех случаях, которые мы рассмотрели. Кроме функций, распределяющих память, есть функции, освобождающие память после работы с нею. Могут быть другие функции, работающие


А.2.2. Проверка функции malloc()

Из книги автора

А.2.2. Проверка функции malloc() Функции выделения и освобождения памяти, имеющиеся в GNU-библиотеке языка С, способны обнаруживать факт записи в память до начала выделенной области, а также попытку освободить одну и ту же область дважды. Если задать переменную среды MALLOC_CHECK_


1.7.3. Библиотечные папки

Из книги автора

1.7.3. Библиотечные папки Обратите внимание, что на рис. 1.88 отображены две папки с одним именем Библиотеки (Library) и одинаковым значком, но расположенные на разных уровнях иерархии: Папка второго уровня является системной, а папка четвертого уровня — специализированной