[C con Clase] Problema conceptual al pasar por referencia array de 2 dimensiones en C
Diego
diegogeid en gmail.com
Mie Jun 10 20:17:22 CEST 2015
Hola, saludos a todos.
Aparentemente estoy teniendo un error conceptual. Copio el código
abajo. Alguien podría ayudarme?
Al intentar acceder a un elemento del aray desde el main no tengo
problemas, pero al intentar acceder desde una función el programa
retorna al sistema operativo un código de error (0xC0000005) y
porsupuesto que no continúa.
Según los printf, los punteros apuntan a la misma posicion de memoria
tanto en el main como en la función, que estoy haciendo mal?
PD: estoy compilando en Windows mediante Code::Blocks en Windows
mediante gcc, el error que da, según google, corresponde a una
violación de acceso a memoria.
Saludos y gracias!
----------------------------------------------
#include <stdio.h>
#include <stdlib.h> //No es necesario
void probar(float **referencia)
{
printf("La posición de memoria donde empieza el array
multidimensional es %p\n", referencia);
//No imprime el siguiente printf y vuelve al ssitema con un error 0xC0000005
printf("test: %f %f...!\nPuntero: %p\n", referencia[0][0],
referencia[0][1], referencia);
}
int main()
{
float test[5][5]={1, 2, 3, 4, 5};
printf("La posición de memoria donde empieza el array
multidimensional es %p\n", test);
printf("test: %f %f...!\nPuntero: %p\n", test[0][0], test[0][1], test);
probar(test);
return 0;
}
Más información sobre la lista de distribución Cconclase