La funzione malloc()
ha la seguente firma:
-
size
: è un parametro che rappresenta la dimensione in byte della memoria da allocare. -
return
: la funzione restituisce un puntatore di tipovoid*
alla memoria allocata. -
Se la memoria non può essere allocata, la funzione restituisce
NULL
.
Ad esempio, se si vuole allocare dinamicamente un array di 10 interi, si può utilizzare la funzione malloc()
in questo modo:
In questo caso, la funzione malloc()
alloca 10 * sizeof(int) byte di memoria e restituisce un puntatore di tipo void*
che viene poi convertito in un puntatore di tipo int*
. Questo puntatore può essere utilizzato per accedere all’array allocato dinamicamente.
Computational Cost
- constant O(1)
Esempio:
È importante liberare la memoria allocata con malloc()
quando non serve più, altrimenti si rischia di incorrere in memory leak.
La funzione free()
viene utilizzata per liberare la memoria allocata con malloc()
.
C free Function