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

Table des matières:

Anonim

Qu'est-ce que le 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 de mémoire dynamique qui alloue l'espace mémoire à des structures de données complexes telles que des tableaux et des structures et renvoie un pointeur vide vers la mémoire. Calloc signifie allocation contiguë.

La 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 pointeur qui se trouve actuellement sur le premier octet de l'espace mémoire alloué est renvoyé.

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

Comment utiliser Calloc

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

#include 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 termsSum = 45