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

Функция malloc () в C ++ выделяет блок неинициализированной памяти и возвращает недействительный указатель на первый байт выделенного блока памяти, если выделение выполнено успешно.

Функция malloc () в C ++ выделяет блок неинициализированной памяти и возвращает недействительный указатель на первый байт выделенного блока памяти, если выделение выполнено успешно.

Если размер равен нулю, возвращаемое значение зависит от реализации библиотеки. Это может быть или не быть нулевой указатель.

прототип 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

Интересные статьи...