Использование функции malloc в языке программирования C

Функция malloc() является одной из самых известных функций стандартной библиотеки языка С.

Она позволяет выделить блок памяти заданного размера в куче (heap), т.е. памяти, которая не является частью стека программы и доступна по запросу.

Пример кода для выделения блока памяти размером 100 байт:


#include 
#include 
int main() {
    int* ptr = (int*) malloc(100);
    if (ptr == NULL) {
        printf("Memory allocation error\n");
        return 1;
    }
    *ptr = 42;
    printf("%d\n", *ptr);
    free(ptr);
    return 0;
}

В данном примере мы выделяем блок памяти размером 100 байт с помощью функции malloc(). Функция возвращает указатель на выделенную память. Если выделение не удалось, то функция возвращает NULL.

Мы сохраняем полученный указатель в переменную ptr. После этого мы можем работать с выделенной памятью, например, записать значение 42 в первые четыре байта выделенного блока, так как тип данных int занимает 4 байта.

После того, как мы закончили использование выделенной памяти, мы должны освободить ее с помощью функции free(ptr). Это предотвратит утечки памяти, когда она больше не нужна.

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

Похожие вопросы на: "c malloc "

What Is SQL Foreign Key and How to Use It
Python Iter: Глубокое погружение в итераторы Python
Отмена последнего коммита в Git
UseCallback - оптимизация производительности при работе с React Hooks
VSDO - Всё о дизайне онлайн
Python Sum List - Работа с списками в Python
Background это
<h1>HTML Sidebar:
WScript - скриптовый язык для автоматизации задач в Windows
<RelativeLayout> - удобный способ организации элементов в Android