calloc() en C : Allocation mémoire initialisée à zéro et exemple pratique
Qu'est-ce que calloc en C ?
La fonction calloc() en C alloue plusieurs blocs de mémoire de taille égale et initialise chaque octet à zéro. C'est une routine d'allocation dynamique utilisée pour les structures de données complexes comme les tableaux ou les structures, retournant un pointeur void *.
Alors que malloc() réserve un seul bloc contigu, calloc() demande n blocs, chacun de size octets, garantissant qu'ils sont mis à zéro et contigus.
Syntaxe
ptr = (cast_type *)calloc(n, size);
- Demande
nblocs, chacun desizeoctets. - Tous les octets sont automatiquement mis à zéro.
- Retourne un pointeur vers le premier octet de la zone allouée, ou
NULLsi la requête échoue.
Utilisation de calloc – Programme d'exemple
Le programme suivant montre comment calloc() peut être utilisé pour calculer la somme des dix premiers termes d'une suite arithmétique.
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int *ptr, sum = 0;
ptr = calloc(10, sizeof(int));
if (!ptr) {
fprintf(stderr, "Error! Memory not allocated.\n");
return EXIT_FAILURE;
}
printf("Calculating the sum of the first 10 terms:\n");
for (int i = 0; i < 10; ++i) {
ptr[i] = i;
sum += ptr[i];
}
printf("Sum = %d\n", sum);
free(ptr);
return EXIT_SUCCESS;
}
Sortie
Calculating the sum of the first 10 terms: Sum = 45
Langue C
- Les structures en C++ expliquées avec un exemple pratique
- Maîtriser std::map en C++ : Guide complet avec exemples de code
- Maîtriser std::list en C++ : Syntaxe, Fonctions et Exemples Pratiques
- Les Fonctions en C++ Expliquées avec des Exemples de Code Pratiques
- Utilisation de realloc() en C : Syntaxe, bonnes pratiques et exemple
- Maîtriser la fonction free() en C : Guide pratique et exemple
- Algorithme de tri par insertion en Java : exemple clair et guide pas à pas
- Tri par sélection en Java : exemple pas à pas et code complet
- Maîtriser la méthode strip() de Python : Guide complet et exemples pratiques