Vad är calloc i C?
Den calloc () i C är en funktion som används för att allokera flera minnesblock med samma storlek. Det är en dynamisk minnesallokeringsfunktion som allokerar minnesutrymmet till komplexa datastrukturer såsom matriser och strukturer och returnerar en tomrumspekare till minnet. Calloc står för angränsande tilldelning.
Malloc-funktionen används för att allokera ett enda minnesutrymme medan calloc-funktionen i C används för att allokera flera minnesutrymme. Varje block som tilldelats av calloc i C-programmering är av samma storlek.
calloc () Syntax:
ptr = (cast_type *) calloc (n, size);
- Ovanstående exempel på calloc i C används för att allokera n minnesblock av samma storlek.
- Efter att minnesutrymmet har tilldelats initialiseras alla byte till noll.
- Pekaren som för närvarande är vid den första byten i det tilldelade minnesutrymmet returneras.
Närhelst det uppstår ett fel vid allokering av minnesutrymme, såsom minnesbrist, returneras en nollpekare som visas i nedanstående calloc-exempel.
Hur man använder calloc
Nedanstående calloc-program i C beräknar summan av en aritmetisk sekvens.
#includeint main() {int i, * ptr, sum = 0;ptr = calloc(10, sizeof(int));if (ptr == NULL) {printf("Error! memory not allocated.");exit(0);}printf("Building and calculating the sequence sum of the first 10 terms \ n ");for (i = 0; i < 10; ++i) { * (ptr + i) = i;sum += * (ptr + i);}printf("Sum = %d", sum);free(ptr);return 0;}
Resultat av calloc i C-exempel:
Building and calculating the sequence sum of the first 10 termsSum = 45