Obligatorio 1, funciones dentro de funciones

Obligatorio 1, funciones dentro de funciones

de Rodrigo Javier Paganini Pesce -
Número de respuestas: 4

Buenas,

Para una de las funciones que pedía el obligatorio declaré otras funciones dentro, porque me pareció más claro al momento de escribir el programa. Lo compilé y ejecuté sin problemas, pero leyendo las notas leí que eso en realidad en C no está permitido. Busqué en internet y encontré que el compilador gcc lo permite de alguna forma, pero estoy un poco confundido y no sé si sería necesario arreglarlo. Por ejemplo, se me ocurre que si ustedes lo compilan con cc solo quizás ande mal. ¿Qué sugieren que haga?

Gracias! Saludos

En respuesta a Rodrigo Javier Paganini Pesce

Re: Obligatorio 1, funciones dentro de funciones

de Camilo Joaquin Mariño Cabrera -

Definir funciones dentro de otra función no es un estándar de C99. Lo que sucede con GCC es que tiene una serie de agregados respecto al estándar, lo que le permite añadir algunas funcionalidades extras a C.

A los efectos del laboratorio no debería haber problema, porque sus entregas son compiladas con GCC y con las mismas flags que las del Makefile que les damos. 

En general lo mejor es seguir el estándar, a pesar de que funcione sin seguirlo, ya que al cambiar de compilador podría no compilar.
En respuesta a Camilo Joaquin Mariño Cabrera

Re: Obligatorio 1, funciones dentro de funciones

de Gregory Randall -
sugiero que declaren las funciones afuera, como corresponde al estándar.
saludos
gregory
En respuesta a Gregory Randall

Re: Obligatorio 1, funciones dentro de funciones

de Gonzalo Martin Chiarlone Justinich -
Si hacemos funciones extra que no son las que se piden pero si van a ser utilizadas por estas, es correcto declararlas como "static" , ya que enrealidad el programa principal no va a acceder a ellas?