[C con Clase] Duda con Matriz
Programante
programante en gmail.com
Sab Feb 16 22:44:42 CET 2013
El 16/02/13 21:26, Fernando escribió:
> Hola, declaré esta matriz de punteros y me funciona bien para alojar cadenas de caracteres en cada posicion,
Más exactamente, funciona para cadenas de hasta 31 caracteres (ya que
reservas 32 bytes).
> sin embargo, me gustaría declarar la matriz de otra forma, algo asi como **pcMatriz o ***pcMatriz (no se cual es la equivalente a lo que declaré abajo) y después poder asignarle memoria con malloc.
Muy sencillo, antes de iterar por las filas o las columnas reservamos
espacio para almacenarlas:
> char ***pcMatriz;
pcMatriz = malloc(Fil*sizeof(***pcMatriz));
> for(f=0; f<Fil; f++)
pcMatriz = malloc(Col*sizeof(**pcMatriz));
> for(c=0; c<Col; c++)
> {
> pcMatriz[f][c]=(char*)malloc(32*sizeof(char));
> if((pcMatriz[f][c])==NULL)
> {
> printf("Error de asignacion de RAM\n");
> return(1);
> }
> }
>
> Saludos cordiales, espero puedan orientarme y gracias.
(nota: he omitido la comprobación de errores)
Un saludo
Más información sobre la lista de distribución Cconclase