Функция выделяет память.
Синтаксис═════════ #include<stdlib.h>══════════ ════════#include<alloc.h>
══════════════════ void *malloc(size_t size);
Файл, содержащий stdlib.h и alloc.h
прототип
Описание:══════════
═══════════════════Функция обеспечивают══ выделение══ блока══ памяти,══════════════════ размером══ size══ байт. Она═ позволяет══ программе══════════════════ выделять═ память═ по═ необходимости══ и══ столько,══════════════════ сколько нужно. ══════════ ════════Динамическая область═══ памяти═══ доступна════ для ══════════════════динамического размещения блоков памяти ═переменной══════════════════ длины.═ Многие══ структуры══ данных,══ такие══ как══════════════════ "деревья"═ или═ "списки"═ -═ естественным═ образом══════════════════ используют динамическое распределение памяти. ══════════════════ В малых моделях памяти ══вся область памяти═ между══════════════════ концом═ сегмента═ данных═ и═ вершиной программного══════════════════ стека доступна для использования ══за═ исключением══════════════════ 256-байтовой границы,═ находящейся непосредственно═══════════ ═══════перед вершиной стека. Данная граница предназначена══════════════════ для═ наращивания═ стека прикладной программы (плюс══════════════════ небольшое количество, требуемое для DOS). ══════════════════ В больших моделях памяти═ все═ пространство═ после══════════════════ программного═ стека═ до═ конца═ физической═ памяти══════════════════ доступно для динамической области. Возвращаемое══════ Функция malloc возвращает указатель на блок выде-значение══════════ ленной памяти. Если для размещения блока недоста-══════════════════ точно памяти,═ функция═ malloc═ возвращает══ NULL.══════════════════ Содержимое══ блока══ остается══ неизменным.══ Если══════════════════ аргумент size равен 0, то функция возвращает NULL. Переносимость═════ Функция доступна в системах UNIX и поддерживается══════════════════ стандартом ANSI C. Пример: #include<stdio.h>#include<string.h>#include<alloc.h>#include<process.h> 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;}