Malloc () -toiminto C ++: ssa allokoi alustamattoman muistin lohkon ja palauttaa tyhjän osoittimen varatun muistilohkon ensimmäiseen tavuun, jos allokointi onnistuu.
Malloc () -toiminto C ++: ssa allokoi alustamattoman muistin lohkon ja palauttaa tyhjän osoittimen varatun muistilohkon ensimmäiseen tavuun, jos allokointi onnistuu.
Jos koko on nolla, palautettu arvo riippuu kirjaston toteutuksesta. Se voi olla nollaosoitin tai ei.
malloc () prototyyppi
void * malloc (koko_t koko);
Tämä toiminto on määritelty otsikkotiedostossa.
malloc () -parametrit
- koko: allekirjoittamaton integraaliarvo, joka edustaa muistilohkoa tavuina.
malloc () Palautusarvo
Malloc () -funktio palauttaa:
- osoitin toiminnon varaamalle alustamattomalle muistilohkolle.
- nollaosoitin, jos allokointi epäonnistuu.
Esimerkki 1: Kuinka malloc () -toiminto toimii?
#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; )
Kun suoritat ohjelmaa, tulos on:
Alustetaan arvoja … Alustetaan arvot 1 3 5 7 9
Esimerkki 2: malloc () -funktio, jonka koko on nolla
#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; )
Kun suoritat ohjelmaa, tulos on:
Osoite = 0x371530