|
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
......BEGIN
Como veis es muy sencillo crear un array dinámico y acceder a sus elementos.
..........int pointer mi_array;
..........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