Funzione calloc() nella libreria C con il programma EXAMPLE
Cos'è calloc in C?
Le calloc() in C è una funzione usata per allocare più blocchi di memoria aventi la stessa dimensione. È una funzione di allocazione dinamica della memoria che alloca lo spazio di memoria a strutture dati complesse come array e strutture e restituisce un puntatore vuoto alla memoria. Calloc sta per allocazione contigua.
Funzione Malloc viene utilizzato per allocare un singolo blocco di spazio di memoria mentre la funzione calloc in C viene utilizzata per allocare più blocchi di spazio di memoria. Ogni blocco allocato dal calloc nella programmazione C ha la stessa dimensione.
calloc() Sintassi:
ptr = (cast_type *) calloc (n, size);
- L'esempio di istruzione precedente di calloc in C viene utilizzato per allocare n blocchi di memoria della stessa dimensione.
- Dopo che lo spazio di memoria è stato allocato, tutti i byte vengono inizializzati a zero.
- Le pointer che si trova attualmente nel primo byte dello spazio di memoria allocato viene restituito.
Ogni volta che si verifica un errore nell'allocazione dello spazio di memoria come la carenza di memoria, viene restituito un puntatore nullo come mostrato nell'esempio calloc seguente.
Come usare calloc
Il seguente programma calloc in C calcola la somma di una sequenza aritmetica.
#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; }
Risultato della calloc nell'esempio C:
Building and calculating the sequence sum of the first 10 terms Sum = 45