Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/07/2014, 23:53
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años
Puntos: 49
Respuesta: problema con funciones y arrays dinamicos [cuadrado magico]

Cita:
Iniciado por vosk Ver Mensaje
................................................
Código C:
Ver original
  1. int **arr = 0;
  2. *arr = malloc(sizeof(int)*i);//reservas memoria para 'i' filas
..............................................
Creo que se te fue un asterisco de más:

Código C++:
Ver original
  1. int **arr = 0;
  2. arr = malloc(sizeof(int)*i);

O bien, y con una comprobación de memoria suficiente:

Código C++:
Ver original
  1. int **arr= malloc(sizeof(int)*i);//reservas memoria para 'i' filas
  2.   if(!arr){
  3.         printf("No hay espacio suficiente en memoria");
  4.         exit(EXIT_FAILURE);
  5.   }
  6.   for(j = 0; j < i; j++) {
  7.       arr[j] = malloc(sizeof(int)*i);//para cada fila reservas memoria para 'i' columnas
  8.   }

O también con calloc, que inicializa a cero y se ahorra la función "inicializar_arreglo":

Código C++:
Ver original
  1. int **arr= calloc( i, sizeof ( int ));
  2.     if(!arr){
  3.             printf("No hay espacio suficiente en memoria");
  4.             exit(EXIT_FAILURE);
  5.       }
  6.     for(j = 0; j < i; j++) {
  7.         arr[j] = calloc( i, sizeof ( int ));
  8.     }
  9.  
  10.   ///inicializar_arreglo (arr,i);


¡¡¡Saluditos!!!


Última edición por leosansan; 06/07/2014 a las 00:46