[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