C ++ malloc () - C ++ standaardbibliotheek

De functie malloc () in C ++ wijst een blok niet-geïnitialiseerd geheugen toe en retourneert een lege pointer naar de eerste byte van het toegewezen geheugenblok als de toewijzing slaagt.

De functie malloc () in C ++ wijst een blok niet-geïnitialiseerd geheugen toe en retourneert een lege pointer naar de eerste byte van het toegewezen geheugenblok als de toewijzing slaagt.

Als de grootte nul is, is de geretourneerde waarde afhankelijk van de implementatie van de bibliotheek. Het kan al dan niet een nulwijzer zijn.

malloc () prototype

 void * malloc (size_t size);

Deze functie is gedefinieerd in het header-bestand.

malloc () Parameters

  • size: een niet-ondertekende integrale waarde die het geheugenblok in bytes vertegenwoordigt.

malloc () Retourwaarde

De functie malloc () retourneert:

  • een pointer naar het niet-geïnitialiseerde geheugenblok dat door de functie is toegewezen.
  • null-aanwijzer als toewijzing mislukt.

Voorbeeld 1: hoe werkt de functie 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; )

Wanneer u het programma uitvoert, is de uitvoer:

 Waarden initialiseren … Geïnitialiseerde waarden 1 3 5 7 9

Voorbeeld 2: malloc () functie met grootte nul

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

Wanneer u het programma uitvoert, is de uitvoer:

 Adres = 0x371530

Interessante artikelen...