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

Функция malloc() в библиотеке C с ПРИМЕРОМ

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

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

Синтаксис

ptr = (cast_type *) malloc (byte_size);

Здесь,

Example: ptr = (int *) malloc (50)

При успешном выполнении этого оператора резервируется 50 байт памяти. Адрес первого байта зарезервированного пространства присваивается указателю ptr типа int.

Рассмотрим другой пример реализации malloc:

#include <stdlib.h>
int main(){
int *ptr;
ptr = malloc(15 * sizeof(*ptr)); /* a block of 15 integers */
    if (ptr != NULL) {
      *(ptr + 5) = 480; /* assign 480 to sixth integer */
      printf("Value of the 6th integer is %d",*(ptr + 5));
    }
}

Вывод:

Value of the 6th integer is 480

  1. Обратите внимание, что sizeof(*ptr) использовался вместо sizeof(int) чтобы сделать код более надежным, когда позже объявление *ptr будет приведено к другому типу данных.
  2. Распределение может завершиться ошибкой, если памяти недостаточно. В этом случае он возвращает указатель NULL. Таким образом, вы должны включить код для проверки указателя NULL.
  3. Имейте в виду, что выделенная память непрерывна и может рассматриваться как массив. Мы можем использовать арифметику указателя для доступа к элементам массива, а не скобки [ ]. Мы советуем использовать + для ссылки на элементы массива, потому что использование приращения ++ или +=изменяет адрес, сохраненный указателем.

Функция malloc также может использоваться с символьным типом данных, а также со сложными типами данных, такими как структуры.


Язык C

  1. Оператор C++ Switch Case с ПРИМЕРОМ
  2. C++ динамическое выделение массивов с примером
  3. Указатели C++ с примерами
  4. Перегрузка оператора C++ с примерами
  5. Структура С++ с примером
  6. Карта в стандартной библиотеке шаблонов C++ (STL) с примером печати
  7. std::list в C++ с примером
  8. Функции C++ с примерами программ
  9. Функция calloc() в библиотеке C с программой ПРИМЕР
  10. Функция realloc() в библиотеке C:как использовать? Синтаксис и пример