La fonction calloc () en C ++ alloue un bloc de mémoire pour un tableau d'objets et initialise tous ses bits à zéro.
La fonction calloc () renvoie un pointeur vers le premier octet du bloc de mémoire alloué si l'allocation réussit.
Si la taille est égale à zéro, la valeur renvoyée dépend de l'implémentation de la bibliothèque. Il peut s'agir ou non d'un pointeur nul.
prototype calloc ()
void * calloc (size_t num, size_t taille);
La fonction est définie dans le fichier d'en-tête.
Paramètres de calloc ()
- num: valeur intégrale non signée qui représente le nombre d'éléments.
- size: valeur intégrale non signée qui représente le bloc de mémoire en octets.
calloc () Valeur de retour
La fonction calloc () renvoie:
- un pointeur vers le début du bloc mémoire alloué par la fonction.
- pointeur nul si l'allocation échoue.
Exemple 1: Comment fonctionne la fonction calloc ()?
#include #include using namespace std; int main() ( int *ptr; ptr = (int *)calloc(5, sizeof(int)); if (!ptr) ( cout << "Memory Allocation Failed"; exit(1); ) cout << "Initializing values… " << endl << endl; for (int i = 0; i < 5; i++) ( ptr(i) = i * 2 + 1; ) cout << "Initialized values" << endl; for (int i = 0; i < 5; i++) ( /* ptr(i) and *(ptr+i) can be used interchangeably */ cout << *(ptr + i) << endl; ) free(ptr); return 0; )
Lorsque vous exécutez le programme, la sortie sera:
Initialisation des valeurs… Valeurs initialisées 1 3 5 7 9
Exemple 2: fonction calloc () de taille zéro
#include #include using namespace std; int main() ( int *ptr = (int *)calloc(0, 0); if (ptr == NULL) ( cout << "Null pointer"; ) else ( cout << "Address = " << ptr << endl; ) free(ptr); return 0; )
Lorsque vous exécutez le programme, la sortie sera:
Adresse = 0x371530