C/Visual C - Paso por referencia de una matriz, en C

 
Vista:
Imágen de perfil de martin
Val: 5
Ha aumentado su posición en 11 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Paso por referencia de una matriz, en C

Publicado por martin (4 intervenciones) el 19/12/2019 02:04:23
Quiero pasar una matriz a una funcion mediante puntero y dentro de esta funcion agregarle valores, pero no se como se hace, el programa es este
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <stdlib.h>
 
void funcion (int **vec);
 
int main()
{
    printf("Hello world!\n");
    int x,y,vec[5][50];
    for (x=0;x<5;x++)
    {
        for(y=0;y<50;y++)
        {
            vec[x][y]=0; //inicia en 0 a la matriz
        }
    }
 
    funcion(vec);//llamada al vector
 
    printf("%d",vec[1][1]);// print para ver si funciona
 
    return 0;
}
 
void funcion (int **vec)
{
    vec[1][1]=10;
    printf(" %d",vec[1][1]);//otro print para ver sin funciona
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 89
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Paso por referencia de una matriz, en C

Publicado por Bruno (38 intervenciones) el 20/12/2019 15:09:11
Prueba la función de la siguiente manera:

1
2
3
4
5
6
7
void funcion ( int (*mat)[50], int f, int c ) {
    for (int i = 0; i < f; i++) {
        for (int j = 0; j < c; j++) {
            mat [i] [j] = i * j;
        }
    }
}

Espero te sirva. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar