Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/03/2010, 20:33
grisuco
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Array 2D en puntero

Buenas, estoy aprendiendo un poco de C e intento crear una función que me permita cargar un array bidimensional y modificare con repercusión en el main(), el problema es que, he intentado usar punteros, peno no se muy bien como se usan, ¿alguien me puede aclarar como solucionar el problema?¿que hago?
Código c:
Ver original
  1. void salida(int *p); // Declaro la funcion
  2.  
  3. main()
  4.   {
  5.     int a[2][2]= {{2, 4},{1,3}}; // Cargo un array bidimensional.
  6.     int *p; // Cargo un puntero
  7.     p=&a;  /* ERROR */ // Intento direccionar el muntero a el array
  8.     salida(p); // Llamo la funcion salida
  9.     printf("%d", a[0][0]); // Intento mostrar el primer elemento del array 2D
  10.   }
  11.  
  12. void salida(int *p)
  13.   {
  14.     (*p)[0][0] = 8; /* ERROR */ // Intento cambiar el primer elemento del array
  15.   }

Este seria justo hasta el fallo

Código c:
Ver original
  1. #include <stdio.h>
  2. main()
  3.   {
  4.     int n[5][6];
  5.     int **p;
  6. /* ¿ */ p=&n; /* ? ¿esto no me va como seria? */
  7.   }
  8. /*
  9. 6 E:\Documents and Settings\Administrator\Desktop\borrame.cpp cannot convert `int (*)[5][6]' to `int**' in assignment
  10. */

Gracias por adelantado.

Última edición por grisuco; 21/03/2010 a las 10:09