[ Foro de C ]

Punteros y listas, ejercicios 81 y 82

19-Nov-2009 07:53
Jess S.
2 Respuestas

¡Hola!
Aún estoy digiriendo el 82. Casi no sé ni cómo preguntar.

De momento, lo único que he observado es que al final de las funciones se pone un ; que se puede quitar. También creo que sobra el ; tras el cierre del if (}) en MuestraLista.

De todas formas, el programa funciona igual aunque se dejen los ;, lo que me desconcierta un poco.

En cuanto sepa cómo expresarme, comenzaré con las preguntas.

Saludos.  


19-Nov-2009 09:36
Jess S.

¡Hola de nuevo!

Una de las cosas que más me despistaba era que en las funciones se denominase con el mismo nombre a la variable que a la estructura (lista). He cambiado el nombre de la variable y el panorama se me ha aclarado bastante.

También prefiero (pero sobre gustos...) hacer una typedef, para no poner tantos struct, con lo que el asunto se clarea un poco más.

Y por último he ido introduciendo números desde el teclado, para poder probar el programa con otras cifras, lo que me parece algo más práctico. La cosa me ha quedado muy bien.

Pero aun así, el programa "casi" lo entiendo, y sigo dándole vueltas al puntero a puntero (**) pues no lo termino de asimilar.

Perdón. Esto parece mi diario. Por si a alguien le interesa, adjunto lo que finalmente me ha quedado.

Saludos.


20-Nov-2009 11:45
Nacho Cabanes (+32)

Si dices que el ejemplo es confuso, lo revisaré para intentar reescribirlo. Y tienes razón, los "punto y coma" después de las llaves son innecesarios. Son un resto de la "conversión automática" del fuente, que creé a partir de uno equivalente en Pascal.

En cuanto a lo del puntero a puntero, es una dirección de memoria en la que no hay directamente un dato, sino otra dirección en la que sí se encuentra el dato. En teoría es algo que debería usarse muy poco en un lenguaje moderno, pero recuerda que en C, una cadena de caracteres es un "char *", de modo que un puntero a una cadena de caracteres sería un "char **". Y un array de cadenas se puede escribir como char[][] o como char**, de modo que se ve escrito más veces de las que sería deseable.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)