calloc()-funktio C-kirjastossa, jossa on ohjelma EXAMPLE

Mikรค on calloc C:ssรค?

calloc() in C on funktio, jota kรคytetรครคn allokoimaan useita samankokoisia muistilohkoja. Se on dynaaminen muistin varaustoiminto, joka varaa muistitilan monimutkaisille tietorakenteille, kuten taulukoille ja rakenteille, ja palauttaa tyhjรคn osoittimen muistiin. Calloc tarkoittaa vierekkรคistรค allokaatiota.

Malloc-toiminto kรคytetรครคn varaamaan yksi lohko muistitilaa, kun taas calloc-funktiota C:ssรค kรคytetรครคn varaamaan useita muistitilalohkoja. Jokainen C-ohjelmoinnin callocin allokoima lohko on samankokoinen.

calloc() Syntaksi:

ptr = (cast_type *) calloc (n, size);
  • Yllรค olevaa lauseesimerkkiรค callocista C:ssรค kรคytetรครคn varaamaan n samankokoista muistilohkoa.
  • Kun muistitila on varattu, kaikki tavut alustetaan nollaan.
  • osoitin joka on tรคllรค hetkellรค varatun muistitilan ensimmรคisessรค tavussa, palautetaan.

Aina kun muistitilan varaamisessa tapahtuu virhe, kuten muistin puute, palautetaan nollaosoitin alla olevan calloc-esimerkin mukaisesti.

Kuinka kรคyttรครค callocia

Alla oleva calloc-ohjelma C:ssรค laskee aritmeettisen sekvenssin summan.

#include <stdio.h>
    int 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;
    }

Callocin tulos C-esimerkissรค:

 
Building and calculating the sequence sum of the first 10 terms
Sum = 45

Tiivistรค tรคmรค viesti seuraavasti: