[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