Ver Mensaje Individual
  #15 (permalink)  
Antiguo 02/11/2010, 07:59
Trovaz
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 14 años, 2 meses
Puntos: 9
Respuesta: problema declaracion array

Para poder declarar este tipo de arreglos en tiempo de ejecucion, necesitas auxiliarte de las funciones malloc, calloc y realloc. Y utilizar punteros, en este caso un puntero a un entero, entonces esto deberia de ser algo asi.

Código c:
Ver original
  1. int *miArreglo;
  2. int n = 10;    //los elementos que necesites
  3. miArreglo = malloc(n * sizeof(int));

Como sabes el puntero o apuntador simplemente apunta a una localidad de memoria, pero al ser de tipo int cada incremento que le hagas en realidad cambiara el puntero sizeof(int) posiciones.

Digamos que tienes un apuntador "miApuntador" a la localidad de memoria 6000, y si un int (en la mayoria de los ordenadores) utiliza 4 bytes en memoria, entonces al aumentar uno a tu apuntador (esta operacion muchos la hacen asi: miApuntador[1]), te estaras posicionando en la localidad de memoria 6004, que es donde puedes almacenar tu siguiente entero, y asi consecutivamente.

Por lo que puedes utilizar esto como si fuera un arreglo de enteros.

Espero haberte sido de ayuda

Saludos++