tengo el siguiente codigo en el que le asigno memoria dinamica a una matriz en lenguaje C para poder ingresarle x numero de datos, el problema que tengo es que si quiero pasarle la matriz a una funcion para dentro de esta asignarle memoria dinamica el programa me truena, pero si se la asigno dentro del main el programa funciona correctamente y no se a que se debe, este es el codigo que me truena:
Código
#include <stdio.h> #include <stdlib.h> void inicializaTablero(char **tablero,int n); int main() { int n,i,j; char **tablero; inicializaTablero(tablero,n); for(i = 0;i < n;i++) { for(j = 0;j < n;j++) } return 0; } void inicializaTablero(char **tablero,int n) { int i,j,k; for(i = 0;i < n;i++) for(j = 0;j < n;j++) { for(k = 0;k < n;k++) tablero[j][k] = '0'; } }
y de esta manera si funciona:
Código
#include <stdio.h> #include <stdlib.h> int main() { int n,i,j,k; char **tablero; for(i = 0;i < n;i++) for(j = 0;j < n;j++) { for(k = 0;k < n;k++) tablero[j][k] = '0'; } for(i = 0;i < n;i++) { for(j = 0;j < n;j++) } return 0; }
de antemano gracias