Funktsioon calloc () jaotises C ++ eraldab mäluploki objektide massiivi jaoks ja lähtestab kõik selle bitid nulli.
Funktsioon calloc () tagastab eraldamise õnnestumisel osutaja eraldatud mäluploki esimesele baidile.
Kui suurus on null, sõltub tagastatav väärtus teegi rakendamisest. See võib olla nullnäitaja või mitte.
calloc () prototüüp
void * calloc (suurus_t number, suurus_t suurus);
Funktsioon on määratletud päisefailis.
calloc () parameetrid
- num: allkirjastamata integraalväärtus, mis tähistab elementide arvu.
- suurus: allkirjastamata lahutamatu väärtus, mis tähistab mäluplokki baitides.
calloc () Tagastusväärtus
Funktsioon calloc () tagastab:
- kursor funktsiooni eraldatud mäluploki algusesse.
- nullkursor, kui jaotamine ebaõnnestub.
Näide 1: Kuidas funktsioon calloc () töötab?
#include #include using namespace std; int main() ( int *ptr; ptr = (int *)calloc(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; )
Programmi käivitamisel on väljund järgmine:
Väärtuste lähtestamine … Väärtuste lähtestamine 1 3 5 7 9
Näide 2: funktsioon calloc () suurusega null
#include #include using namespace std; int main() ( int *ptr = (int *)calloc(0, 0); if (ptr == NULL) ( cout << "Null pointer"; ) else ( cout << "Address = " << ptr << endl; ) free(ptr); return 0; )
Programmi käivitamisel on väljund järgmine:
Aadress = 0x371530