none
Paso de punteros como parametros a funciones en lenguaje C. RRS feed

  • Pregunta

  • Hola gente pongo esto aca pues no se donde van las preguntas de lenguaje C.

    Estoy creando una funcion que reciba como parametros un puntero doble. Esa function recibe el parametro y le asigna memoria dinamica. Una vez asignada la memoria llamo a otra funcion que le asigna valores a ese puntero. Pero al hacer la asignacion de valores me da error de segmentacion, sospecho que el problema esta en el pasaje del punteros como parametro, pues cuando hago todo en el main y no en funciones no presenta problema, les paso los codigos asi alguien puede orientarme.

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    
    #define dim 100 
    
    
    void asignarMemoriaDinamica(double** A){
            int i;
    
            A=malloc(dim*sizeof(double*));      
    
            for(i=0;i<dim;i++){
                A[i]=malloc(dim*sizeof(double));    
            }
        }
    void cargarA(double** A){
        int i,j;
        srand(time(NULL));  
    
        for(i=0;i<dim;i++){
            for(j=0;j<dim;j++){
                int test = rand()%200 -100;
                A[i][j]=test;   //al ejecutar esta linea da error
                printf("%.2lf ",A[i][j]);   
            }
            printf("%s","\n");
        }
    }
    int main() {
    
        double **A;
        asignarMemoriaDinamica(A);
        cargarA(A);     
    
        return 0;
    }

    Cualquier sugerencia es bienvenida.

    Saludos a todos.

    • Cambiado Sergio Parra miércoles, 5 de abril de 2017 6:22 Pregunta de C/C++
    miércoles, 5 de abril de 2017 3:18

Todas las respuestas