C ++ malloc () - štandardná knižnica C ++

Funkcia malloc () v C ++ alokuje blok neinicializovanej pamäte a vráti ukazovateľ void na prvý bajt bloku alokovanej pamäte, ak je alokácia úspešná.

Funkcia malloc () v C ++ alokuje blok neinicializovanej pamäte a vráti ukazovateľ void na prvý bajt bloku alokovanej pamäte, ak je alokácia úspešná.

Ak je veľkosť nulová, vrátená hodnota závisí od implementácie knižnice. Môže, ale nemusí to byť nulový ukazovateľ.

prototyp malloc ()

 void * malloc (veľkosť_t veľkosť);

Táto funkcia je definovaná v hlavičkovom súbore.

parametre malloc ()

  • size: Nepodpísaná integrálna hodnota, ktorá predstavuje blok pamäte v bajtoch.

malloc () Návratová hodnota

Vráti funkcia malloc ():

  • ukazovateľ na neinicializovaný blok pamäte pridelený funkciou.
  • nulový ukazovateľ, ak alokácia zlyhá.

Príklad 1: Ako funguje funkcia 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; )

Po spustení programu bude výstup:

 Inicializujú sa hodnoty … Inicializujú sa hodnoty 1 3 5 7 9

Príklad 2: funkcia malloc () s veľkosťou nula

 #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; )

Po spustení programu bude výstup:

 Adresa = 0x371530

Zaujímavé články...