Ver Mensaje Individual
  #9 (permalink)  
Antiguo 29/07/2010, 08:32
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Declaracion de arrays

Para la dos dimensiones tienes que usar la logica....
Un array de dos dimensiones trata de un doble puntero.. Osea
int **matriz;

El primer puntero apunta a un array de punteros a entero, y en ese array apunta a n enteros...

Entonces la declaracion quedara algo asi:

int **matriz = malloc(n * sizeof(*int));
for(i=0;i<n;i++)
matriz[i] = malloc(n * sizeof(int));

La idea es que primero reservas espacio para n punteros a enteros. Y luego por cada puntero reservas espacio para n enteros.... Lo bueno de estos, es que si no necesitas que sea perfectamente cuadrada la matriz puedes ir variando la cantidad de memoria guardada.

Te recomendaria que busques en internet, hay muchos dibujos explicativos para reservar memoria.

Y sobre lo de bool, en C no existe el tipo bool! Existe en C++.