[C con Clase] Array de cadenas de caracteres y paso de parámetros en C.

gmh2000 helder1986 en gmail.com
Vie Dic 12 15:00:57 CET 2008


Rolando, sólo hay un par de asuntos que no entiendo, ahí van:
 
PRIMERO. Código de abajo:

... add_cadena(...)
{
   /* Abajo entiendo que esto evita posibles errores inesperados y
         que, aquí, podría añadir más filtros */
   if(strlen(otro_char11) >  11){} 

   /* ¿Siguiente significa: si stringList NO_vacío haz free()?
        ¿estamos liberando la memoria reservada en una llamada
        anterior a la función add_cadena()? */
   if(stringList) free(stringList);

   /* No entiendo la siguiente aclaración que haces
        para el código strcpy( *(Temp[cap]), otro_char11);  */       
   /* en la linea de abajo desreferencio el puntero al arreglo para

         tener acceso al arreglo y entonces le copio lo que quiero  */
}


SEGUNDO. Cuándo y/o a qué debo hacer free(), una vez completadas todas las llamadas a add_cadena(); Después de mostrar las cadenas, en otra función: ¿debo hacer: free(file_names->string_pointers)?



Algo más sin importancia, veo que separas a las variables de dos formas. Por ejemplo: otro_char11 y stringList. En Java me han enseñado a usar la segunda, pero tenía entendido que en C se usaba la primera. ¿Es preferible usar alguna de las dos en C?



Muchísimas gracias. Voy a mirar mejor la solución de nuestro amigo Steven también. Que he visto que plantea una solución con realloc(). Joe, parece que estoy aprendiendo más aquí en 4 días que durante toda mi carrera.


___________
Casi Ing. Carlos-Helder García ;)


Más información sobre la lista de distribución Cconclase