elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  declarar el prototipo de una función adentro del bloque main (explicitamente)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: declarar el prototipo de una función adentro del bloque main (explicitamente)  (Leído 3,112 veces)
fafafa01

Desconectado Desconectado

Mensajes: 82


Ver Perfil
declarar el prototipo de una función adentro del bloque main (explicitamente)
« en: 14 Diciembre 2016, 20:03 pm »

Buenas, estoy leyendo el libro "El lenguaje de programación C" de Brian Kernighan y en la pagina 80 del capitulo 4 (funciones y la estructura del programa) hay un código donde declara el prototipo de la función atof (previamente echa) dentro del bloque main, porque hace esto y no la declara antes de entrar al bloque main ¿tiene alguna ventaja?

según el libro declara atof explicitamente en la rutina que la llama.


« Última modificación: 14 Diciembre 2016, 20:08 pm por fafafa01 » En línea

Naimaderis

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Re: declarar el prototipo de una función adentro del bloque main (explicitamente)
« Respuesta #1 en: 14 Diciembre 2016, 21:58 pm »

Buenas, estoy leyendo el libro "El lenguaje de programación C" de Brian Kernighan y en la pagina 80 del capitulo 4 (funciones y la estructura del programa) hay un código donde declara el prototipo de la función atof (previamente echa) dentro del bloque main, porque hace esto y no la declara antes de entrar al bloque main ¿tiene alguna ventaja?

según el libro declara atof explicitamente en la rutina que la llama.

¿Que tal es ese libro? Yo estoy usando "cómo programar en c c++ deitel". Tengo la misma duda con respecto a los prototipos.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: declarar el prototipo de una función adentro del bloque main (explicitamente)
« Respuesta #2 en: 14 Diciembre 2016, 22:09 pm »

se puede declarar dentro del bloque main, pero no hay ninguna utilidad hasta donde se, incluso es una practica poco recomendada... me imagino que será para casos especificos controlar el uso de memoria o algo así, aunque  no tiene mucho sentido...
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
fafafa01

Desconectado Desconectado

Mensajes: 82


Ver Perfil
Re: declarar el prototipo de una función adentro del bloque main (explicitamente)
« Respuesta #3 en: 14 Diciembre 2016, 23:02 pm »

¿Que tal es ese libro? Yo estoy usando "cómo programar en c c++ deitel". Tengo la misma duda con respecto a los prototipos.

es un buen libro, lo elegí porque el co-autor del libro es el que creo el lenguaje C.
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: declarar el prototipo de una función adentro del bloque main (explicitamente)
« Respuesta #4 en: 15 Diciembre 2016, 06:56 am »

Si intentas ejecutar esa función dentro de otra que se haya definido antes que esa verás que no la va a reconocer.

Una función es como una variable: solo puede usarse dentro del ámbito donde, almenos, se ha declarado su firma.

Si estás aprendiendo con el libro de K&R, que es una buena lectura, depués tendrás que actualizarte para el estándar C11, han cambiado muchaa cosas desde entonces hasta ahora.
« Última modificación: 15 Diciembre 2016, 06:59 am por MAFUS » En línea

fafafa01

Desconectado Desconectado

Mensajes: 82


Ver Perfil
Re: declarar el prototipo de una función adentro del bloque main (explicitamente)
« Respuesta #5 en: 16 Diciembre 2016, 00:05 am »

Si intentas ejecutar esa función dentro de otra que se haya definido antes que esa verás que no la va a reconocer.

Una función es como una variable: solo puede usarse dentro del ámbito donde, almenos, se ha declarado su firma.

Si estás aprendiendo con el libro de K&R, que es una buena lectura, depués tendrás que actualizarte para el estándar C11, han cambiado muchaa cosas desde entonces hasta ahora.

gracias, de donde puedo sacar la actualización para el estandar C11
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: declarar el prototipo de una función adentro del bloque main (explicitamente)
« Respuesta #6 en: 16 Diciembre 2016, 09:06 am »

http://www.iso-9899.info/wiki/The_Standard

Aquí encontrarás enlaces a los documentos, que se deben comprar. De todas formas está el borrador o anteproyecto, o como quieras llamarlo, que es gratuito. Si sigues el enlace llamado N1570 conseguirás el paper más próximo posible al estándar de forma gratuita.
En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: declarar el prototipo de una función adentro del bloque main (explicitamente)
« Respuesta #7 en: 17 Diciembre 2016, 04:44 am »

¡Ostras! ¡Han incluido los threads en la librería estandar! Tendré que ponerme al día...

¡Gracias por el enlace!
En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
FUncion main y Funcion Winmain
Programación C/C++
mapers 1 2,552 Último mensaje 5 Febrero 2011, 15:44 pm
por oPen syLar
Prototipo de funcion que modifica una matriz
Programación C/C++
2andLi-On 0 2,560 Último mensaje 30 Abril 2011, 21:48 pm
por 2andLi-On
[c++]Prototipo de una funcion.. donde debe ir? antes de main?
Programación C/C++
Synth3tik0 4 3,977 Último mensaje 4 Agosto 2011, 02:23 am
por rir3760
¿como declarar un iterable en una funcion en SQL?
Desarrollo Web
fallout20xx 0 1,470 Último mensaje 31 Enero 2012, 18:42 pm
por fallout20xx
Prototipo de una funcion
Programación C/C++
Omarcin 9 2,966 Último mensaje 9 Mayo 2016, 15:30 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines