C ++ malloc () - Стандартна бібліотека C ++

Функція malloc () у C ++ виділяє блок неініціалізованої пам'яті і повертає покажчик void на перший байт виділеного блоку пам'яті, якщо розподіл успішний.

Функція malloc () у C ++ виділяє блок неініціалізованої пам'яті і повертає покажчик void на перший байт виділеного блоку пам'яті, якщо розподіл успішний.

Якщо розмір дорівнює нулю, повернене значення залежить від реалізації бібліотеки. Це може бути нульовий покажчик, а може і не бути.

прототип malloc ()

 void * malloc (size_t size);

Ця функція визначена у файлі заголовка.

параметри malloc ()

  • size: Непідписане інтегральне значення, яке представляє блок пам'яті в байтах.

malloc () Повернене значення

Функція malloc () повертає:

  • вказівник на неініціалізований блок пам'яті, виділений функцією.
  • нульовий покажчик, якщо розподіл не вдається.

Приклад 1: Як працює функція malloc ()?

 #include #include using namespace std; int main() ( int *ptr; ptr = (int*) malloc(5*sizeof(int)); if(!ptr) ( cout << "Memory Allocation Failed"; exit(1); ) cout << "Initializing values… " << endl << endl; for (int i=0; i<5; i++) ( ptr(i) = i*2+1; ) cout << "Initialized values" << endl; for (int i=0; i<5; i++) ( /* ptr(i) and *(ptr+i) can be used interchangeably */ cout << *(ptr+i) << endl; ) free(ptr); return 0; )

Коли ви запускаєте програму, результат буде:

 Ініціалізація значень… Ініціалізація значень 1 3 5 7 9

Приклад 2: функція malloc () із нульовим розміром

 #include #include using namespace std; int main() ( int *ptr = (int*) malloc(0); if(ptr==NULL) ( cout << "Null pointer"; ) else ( cout << "Address = " << ptr << endl; ) free(ptr); return 0; )

Коли ви запускаєте програму, результат буде:

 Адреса = 0x371530

Цікаві статті...