Malloc () -funktionen i C ++ allokerar ett block med oinitialiserat minne och returnerar en tomrumspekare till den första byten i det allokerade minnesblocket om allokeringen lyckas.
Malloc () -funktionen i C ++ allokerar ett block med oinitialiserat minne och returnerar en tomrumspekare till den första byten i det allokerade minnesblocket om allokeringen lyckas.
Om storleken är noll beror värdet som returneras på implementeringen av biblioteket. Det kan eller inte kan vara en nollpekare.
malloc () prototyp
ogiltigt * malloc (storlek_t storlek);
Denna funktion definieras i rubrikfilen.
malloc () Parametrar
- storlek: Ett osignerat integrerat värde som representerar minnesblocket i byte.
malloc () Returvärde
Funktionen malloc () returnerar:
- en pekare till det oinitialiserade minnesblocket som tilldelats av funktionen.
- nullpekare om allokeringen misslyckas.
Exempel 1: Hur fungerar malloc () -funktionen?
#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; )
När du kör programmet blir resultatet:
Initierar värden … Initierade värden 1 3 5 7 9
Exempel 2: funktion malloc () med storlek noll
#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; )
När du kör programmet blir resultatet:
Adress = 0x371530