Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Динамическое выделение памяти в C: понимание malloc() с практическими примерами

Что такое malloc() в C?

В стандартной библиотеке C malloc() (memory allocation) динамически резервирует непрерывный блок памяти во время выполнения. Функция возвращает указатель void* на начало блока, который можно привести к любому нужному типу.

Синтаксис

ptr = (cast_type *)malloc(byte_size);

Где:

Пример:

ptr = (int *)malloc(50);

После вызова выделяется 50 байт, ptr указывает на первый байт.

Практический пример

#include <stdlib.h>
#include <stdio.h>
int main() {
    int *ptr;
    ptr = malloc(15 * sizeof(*ptr)); // место для 15 int
    if (ptr != NULL) {
        *(ptr + 5) = 480; // 6-му элементу присваиваем 480
        printf("Value of the 6th integer is %d", *(ptr + 5));
    }
    return 0;
}

Вывод:

Value of the 6th integer is 480
Динамическое выделение памяти в C: понимание malloc() с практическими примерами

Ключевые моменты

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

Язык C

  1. Оператор switch-case в C++: синтаксис, применение и практические примеры
  2. Динамическое выделение массивов в C++: практическое руководство с примерами кода
  3. Указатели в C++: концепции, примеры и практические применения
  4. Перегрузка операторов в C++: практическое руководство с примерами кода
  5. Структуры (struct) в C++: объяснение с практическим примером
  6. std::map в C++: полное руководство с примерами кода
  7. Освоение std::list в C++: синтаксис, функции и практические примеры
  8. Функции в C++: подробное объяснение с практическими примерами кода
  9. calloc() в C: выделение обнулённой памяти и практический пример
  10. Использование realloc() в C: синтаксис, лучшие практики и пример