мета-данные страницы
Это старая версия документа!
stdlib.h
Управление динамической памятью
malloc
Функция malloc() выделяет память длиной для определенного количества байт и возвращает указатель на начало выделенной памяти. Через полученный указатель мы можем помещать данные в выделенную память. Рассмотрим простой пример:
#include <stdio.h> #include <stdlib.h> // для подключения функции malloc int main(void) { int *ptr = malloc(sizeof(int)); // выделяем память для одного int if(ptr != NULL) { *ptr = 24; // помещаем значение в выделенную память printf("%d \n", *ptr); } free(ptr); ptr = NULL; }
Немотря на освобождение памяти с помощью функции free() указатель сохраняет свой адрес, и теоретически мы можем обращаться к памяти по данному указателю. Однако полученные значения уже будут неопределенными и недетеминированными. Поэтому некоторые советуют после освобождения памяти также устанавливать для указателя значение NULL