Taller
>> Taller >> Arrays Dinámicos en Fenix by Danko >> Cap. 1, Crear un array dinámico.

Para crear un array dinámico haremos uso de la función de memoria alloc(bytes). Ésta reserva tantos bytes de memoria como se le indiquen y devuelve un puntero a ella. Por tanto necesitaremos una variable de tipo puntero ptr. A partir de ahí podremos acceder a los elementos de nuestro array dinámico usando [ptr+elemento] o *(ptr+elemento) o ptr[elemento] (las tres significan lo mismo, pero la última es más cómoda de usar). No obstante hay que tener algunas consideraciones:

Veamos un ejemplo de un array dinámico:

Puede parecer un poco difícil de entender a simple vista, pero es muy sencillo. Prueba el siguiente ejemplo:

......GLOBAL
..........int pointer mi_array;

......BEGIN
..........mi_array = alloc(16);     // reservamos 4 elementos (recuerda que el tamaño de un int son 4 bytes
..........[mi_array] = 2;     // el elemento 0 del array pasa a valer 2
..........*mi_array = 1;     // ahora el elemento 0 del array vale 1
..........mi_array[1] = 5;     // el elemento 1 del array vale 5
..........mi_array[8] = 10;     // el programa se compilará y se ejecutará, pero pueden producirse resultados inesperados
......END

Como veis es muy sencillo crear un array dinámico y acceder a sus elementos.