calloc() : allocation de mémoire pour un tableau.
Prototype:
void * calloc(size_t nbelem, size_t taille1);
dans: <stdlib.h> <malloc.h> (UNIX) <alloc.h> (DOS)
Description:
calloc() réserve une zone mémoire dont la taille en octets est:
nbelem * taille1.
Utilisation courante : Tableaux dynamiques, Listes, Arbres.
Valeur renvoyée:
- Si tout est OK, calloc() retourne l'adresse du bloc de mémoire nouvellement alloué
- S'il ne reste plus de mémoire disponible calloc() retourne NULL.
Voir aussi:
Portabilité:
Exemple:
#include
#include
main() {
char *chaine;
int taille;
printf("De combien de lettres votre prénom est il formé ? ");
scanf("%d", &taille);
/* Allocation mémoire pour une chaîne de "taille" caractères. */
chaine = (char *) calloc( taille+1, sizeof(char));
if (chaine == NULL) {
printf("Erreur d'allocation mémoire !!!");
exit(1);
}
printf("Quel est votre prénom ? ");
scanf( "%s", chaine);
printf("Bonjour %s\n",chaine); /* Affichage de la chaîne de caractères */
/* Libération de la mémoire allouée à la chaine */
free(chaine);
}