Функция malloc() в библиотеке C с ПРИМЕРОМ
Что такое malloc в C?
Функция malloc() отвечает за выделение памяти. Это функция, которая используется для динамического выделения блока памяти. Он резервирует пространство памяти указанного размера и возвращает нулевой указатель, указывающий на ячейку памяти. Возвращаемый указатель обычно имеет тип void. Это означает, что мы можем назначить функцию malloc любому указателю.
Синтаксис
ptr = (cast_type *) malloc (byte_size);
Здесь,
- 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
- Обратите внимание, что sizeof(*ptr) использовался вместо sizeof(int) чтобы сделать код более надежным, когда позже объявление *ptr будет приведено к другому типу данных.
- Распределение может завершиться ошибкой, если памяти недостаточно. В этом случае он возвращает указатель NULL. Таким образом, вы должны включить код для проверки указателя NULL.
- Имейте в виду, что выделенная память непрерывна и может рассматриваться как массив. Мы можем использовать арифметику указателя для доступа к элементам массива, а не скобки [ ]. Мы советуем использовать + для ссылки на элементы массива, потому что использование приращения ++ или +=изменяет адрес, сохраненный указателем.
Функция malloc также может использоваться с символьным типом данных, а также со сложными типами данных, такими как структуры.
Язык C
- Оператор C++ Switch Case с ПРИМЕРОМ
- C++ динамическое выделение массивов с примером
- Указатели C++ с примерами
- Перегрузка оператора C++ с примерами
- Структура С++ с примером
- Карта в стандартной библиотеке шаблонов C++ (STL) с примером печати
- std::list в C++ с примером
- Функции C++ с примерами программ
- Функция calloc() в библиотеке C с программой ПРИМЕР
- Функция realloc() в библиотеке C:как использовать? Синтаксис и пример