Fonction calloc() dans la bibliothèque C avec EXEMPLE de programme

Qu’est-ce que calloc en C ?

Le calloc() en C est une fonction utilisée pour allouer plusieurs blocs de mémoire ayant la même taille. Il s'agit d'une fonction d'allocation dynamique de mémoire qui alloue de l'espace mémoire à complex des structures de données telles que des tableaux et des structures et renvoie un pointeur vide vers la mémoire. Calloc signifie allocation contiguë.

Fonction Malloc est utilisée pour allouer un seul bloc d'espace mémoire tandis que la fonction calloc en C est utilisée pour allouer plusieurs blocs d'espace mémoire. Chaque bloc alloué par le calloc en programmation C est de la même taille.

calloc() Syntaxe :

ptr = (cast_type *) calloc (n, size);
  • L'exemple d'instruction ci-dessus de calloc en C est utilisé pour allouer n blocs de mémoire de même taille.
  • Une fois l’espace mémoire alloué, tous les octets sont initialisés à zéro.
  • Le aiguille qui se trouve actuellement au premier octet de l'espace mémoire alloué est renvoyé.

Chaque fois qu'il y a une erreur lors de l'allocation de l'espace mémoire, telle qu'un manque de mémoire, un pointeur nul est renvoyé, comme indiqué dans l'exemple de calloc ci-dessous.

Comment utiliser calloc

Le programme calloc ci-dessous en C calcule la somme d'une séquence arithmétique.

#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;
    }

Résultat du calloc dans l'exemple C :

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