Taller
>> Taller >> Arrays Dinámicos en Fenix by Danko >> Cap. 2, Inicialización, redimensionamiento y liberación .

Inicializar todos los elementos del array a un número

Debido a que la zona de memoria devuelta por alloc podría tener restos de un uso anterior, es recomendable inicializar todos los valores del array. Para hacerlo de un modo sencillo podemos utilizar la función memset(pointer memoria,valor,bytes) que rellena un área de memoria de tantos bytes como se le indiquen con el valor que se le pase como parámetro. Tras el alloc, podríamos poner:

..........memset(mi_array,0,16);

Y los cuatro elementos del array pasaran a valer 0.

 

Redimensionar el array

Una vez tenemos nuestro array creado podemos cambiar el número de elementos con la función realloc(pointer memoria, bytes):

..........mi_array = realloc(mi_array,36);     // mi_array tendrá 9 elementos
..........mi_array[8] = 100;     // ahora no hay ningún problema en acceder

Y los cuatro elementos del array pasaran a valer 0.

 

Liberar la memoria

Es importante que liberemos la memoria utilizada cuando hayamos terminado de trabajar con el array, para ello aremos uso de free:

..........free(mi_array);

Y esto es todo lo que necesitamos saber para crear arrays dinámicos.