Описание функций Си

Malloc



     malloc

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

Синтаксис #include

#include

void *malloc(size_t size);

Файл, содержащий stdlib.h и alloc.h прототип

Описание Функция обеспечивают выделение блока памяти, раз- мером size байт.Она позволяет программе выделять память по необходимости и столько, сколько нужно.

Динамическая область памяти доступна для динами- ческого размещения блоков памяти переменной дли- ны. Многие структуры данных, такие как "деревья" или "списки" - естественным образом используют динамическое распределение памяти.

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

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

Возвращаемое значение Функция malloc возвращает указатель на блок выде- ленной памяти. Если для размещения блока недоста- точно памяти, функция malloc возвращает NULL. Со- держимое блока остается неизменным. Если аргумент size равен 0, то функция возвращает NULL.

Переносимость Функция доступна в системах UNIX и поддерживается стандартом ANSI C.

Смотрите также

Пример:

#include

#include

#include

#include

int main(void) { char *str; /* выделить память под строку */

if((str = malloc(10)) == NULL) { printf("Недостаточно памяти\n"); exit(1); /* завершение с кодом ошибки */ } /* скопировать в строку "Hello" */ strcpy(str,"Hello"); /* вывести строку */ printf("Строка: %s\n",str); /* освободить память */ free(str); return 0; }



Содержание раздела