Funkcija malloc () u C ++ dodjeljuje blok neinicijalizirane memorije i vraća prazninski pokazivač na prvi bajt dodijeljenog memorijskog bloka ako dodjela uspije.
Funkcija malloc () u C ++ dodjeljuje blok neinicijalizirane memorije i vraća prazninski pokazivač na prvi bajt dodijeljenog memorijskog bloka ako dodjela uspije.
Ako je veličina nula, vraćena vrijednost ovisi o implementaciji knjižnice. To može biti null pokazivač, ali ne mora.
prototip malloc ()
praznina * malloc (veličina_t veličina);
Ova je funkcija definirana u zaglavnoj datoteci.
parametri malloc ()
- veličina: Nepotpisana integralna vrijednost koja predstavlja memorijski blok u bajtovima.
malloc () Povratna vrijednost
Funkcija malloc () vraća:
- pokazivač na neinicijalizirani memorijski blok koji je dodijelila funkcija.
- nulti pokazivač ako dodjela ne uspije.
Primjer 1: Kako funkcionira funkcija 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; )
Kada pokrenete program, izlaz će biti:
Inicijalizirane vrijednosti … Inicijalizirane vrijednosti 1 3 5 7 9
Primjer 2: funkcija malloc () s veličinom 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; )
Kada pokrenete program, izlaz će biti:
Adresa = 0x371530