Logo GBNhost.com — скидка на VPS сервера 50 процентов! Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

Сверхбыстрый хостинг от 69 р./мес., VPS от 299 р./мес.

Бесплатно: администрирование + ISPmanager + DDoS защита + SSL + 7 дней тестовый период

Скидка 50% на первый месяц VPS и хостинга по промокоду CITFORUM

Ваш идеальный сервер от 4$/мес. Все включено:

- Администрирование и решение проблем 24/7
- Перенос проектов без рисков и простоев.
- Круглосуточный мониторинг доступности сайтов.
- Защита от DDoS атак.

Хостинг в Европе для новичков (от 25 руб/мес) и VIP-хостинг для профессионалов (от 1000 руб/мес)

Скидка 25% на все тарифы хостинга по промокоду STDCITF

Бесплатно: тест на 30 дней!

MALLOC(3C)

НАЗВАНИЕ
malloc, free, realloc, calloc - управление памятью

СИНТАКСИС


	char *malloc (size)

	unsigned size;

	

	void free (ptr)

	char *ptr;

	

	char *realloc (ptr, size)

	char *ptr;

	unsigned size;

	

	char *calloc (nelem, elsize)

	unsigned nelem, elsize;

ОПИСАНИЕ
Функции malloc и free предоставляют простой универсальный механизм выделения и освобождения памяти. Функция malloc возвращает указатель на блок памяти размером не менее size байт, который можно использовать в произвольных целях.

Аргументом функции free является указатель на блок памяти, предварительно выделенный с помощью функции malloc; после выполнения free эта часть памяти может быть выделена вновь, но ее содержимое теряется.

В случае выхода за границы блока, выделенного функцией malloc, а также при вызове функции free с аргументом, не являвшимся результатом malloc, эффект будет непредсказуемым.

Функция malloc выделяет память из первого достаточно большого непрерывного блока свободной памяти, просматривая все блоки по циклу, начиная с последнего выделенного или освобожденного. Попутно смежные свободные блоки об единяются в один больший свободный блок. Если не нашлось подходящего блока, то вызывается sbrk [см. brk(2)], в результате чего сдвигается верхняя граница сегмента данных программы.

Функция realloc изменяет размер блока, на который указывает аргумент ptr, до величины в size байт и возвращает указатель на (возможно перемещенный) блок. Часть содержимого блока до наименьшего из нового и старого размеров не изменяется. Если блок размером size байт не удается разместить на прежнем месте, то вызывается malloc для выделения блока нужного размера, после чего данные из старого блока перемещаются на новое место.

Аргумент ptr функции realloc может указывать и на блок, освобожденный после последнего обращения к функциям malloc, realloc или calloc. Зная стратегию выделения памяти, последовательные вызовы функций malloc, free и realloc можно использовать для уплотнения памяти.

Функция calloc выделяет пространство для массива из nelem элементов, каждый размером elsize байт, и заполняет массив нулями.

Границы выделяемых блоков памяти располагаются так, чтобы обеспечить (быть может после преобразования типов результирующих указателей) хранение произвольных об ектов.

СМ. ТАКЖЕ
brk(2), malloc(3X).

ДИАГНОСТИКА
Функции malloc, realloc и calloc возвращают пустой указатель NULL, если нет достаточного количества памяти или если обнаруживается нарушение структуры блоков (обычная причина такого нарушения - запись в память вне выделенных границ). В подобной ситуации не гарантируется сохранение содержимого блока, на который указывает аргумент ptr.

ПРИМЕЧАНИЯ
Когда захвачено много блоков памяти, время поиска свободного блока увеличивается. Если программа захватывает память, но не освобождает ее, то каждое последующее успешное выделение памяти происходит медленнее. Чтобы этого избежать, можно использовать более гибкую реализацию, см. malloc(3X).

хостинг сайтов ГиперХост — хостинг сайтов который Вы искали.

Виртуальный хостинг, Аренда VPS серверов, рация доменных имен, SSL сертификаты

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...