malloc y free en C
Reservar memoria en el heap en tiempo de ejecución.
#include <stdlib.h>
int *make_squares(int n) {
int *items = malloc(n * sizeof(int));
if (items == NULL)
return NULL;
for (int i = 0; i < n; i++)
items[i] = i * i;
return items; /* quien llama debe hacer free() */
}
Cómo funciona
malloc(n * sizeof(int))reserva un arreglo.- Un retorno
NULLsignifica que la reserva falló. - Quien llama es dueño de la memoria y debe hacer
free.
Palabras clave y builtins usados aquí
NULLforifintreturnsizeof
El intento, en números
- Líneas
- 10
- Caracteres a escribir
- 216
- Tokens
- 64
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 40 segundos.
Paso 1 de 5 en Memoria dinámica; paso 10 de 25 en Punteros y memoria.