[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