Calloc () -funksjonen i C ++ tildeler en minneblokk for en rekke objekter og initialiserer alle biter til null.
Calloc () -funksjonen returnerer en peker til den første byten i den tildelte minneblokken hvis tildelingen lykkes.
Hvis størrelsen er null, avhenger verdien som returneres av implementeringen av biblioteket. Det kan eller ikke være en nullpeker.
calloc () prototype
ugyldig * calloc (størrelse_t num, størrelse_t størrelse);
Funksjonen er definert i topptekstfilen.
calloc () Parametere
- num: En usignert integralverdi som representerer antall elementer.
- størrelse: En usignert integralverdi som representerer minneblokken i byte.
calloc () Returverdi
Calloc () -funksjonen returnerer:
- en peker til starten av minneblokken som er tildelt av funksjonen.
- nullpeker hvis tildelingen mislykkes.
Eksempel 1: Hvordan fungerer calloc () -funksjonen?
#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; )
Når du kjører programmet, vil utdataene være:
Initialisere verdier … Initialiserte verdier 1 3 5 7 9
Eksempel 2: calloc () -funksjon med størrelse 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; )
Når du kjører programmet, vil utdataene være:
Adresse = 0x371530