Malloc () Функція в бібліотеці C з EXAMPLE

Зміст:

Anonim

Що таке 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 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 можна також використовувати з типом даних символу, а також із складними типами даних, такими як структури.