malloc

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

Синтаксис═════════ #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;
}