Sunteți pe pagina 1din 17

Funciones

Como sabemos existe un bloque bsico la funcin


main(), de igual forma hay muchas ms funciones
predefinidas, pero nosotros mismos tambin
podemos definir nuestras propias funciones. De
hecho, es fundamental hacerlo.
En pocas palabras una funcion es como un miniprograma que puede ser utilizado en un programa
principal, es decir la funcion puede ser llamada por
otro programa
Podemos definir una funcin cualquiera de la
misma manera en que definimos la funcin main().
Basta con poner su tipo, su nombre, sus
argumentos entre parntesis y luego, entre llaves,
su cdigo:
tipo nombre(tipo);

ejemplo void nombre(void)

La sentenciareturn
La sentenciareturnpuede utilizarse dentro de una
funcin para terminar su ejecucin.
En el ejemplo anterior, la funcinholamundofue
declarada con valor de retorno de tipovoid(es decir,
valor de retorno nulo). En ese caso, la
sentenciareturnno lleva ningn parmetro adicional, ya
que la funcin no debe devolver ningn valor a la funcin
que la llama.
En cambio, la funcinmaintiene un valor de retorno de
tipoint, por lo quereturndebe ir seguido de un valor
entero (0 en el ejemplo). El valor 0 se utiliza para indicar
que el programa ha llegado a un punto en el que todo se
ha desarrollado correctamente y se utiliza cualquier otro
valor para indicar que ha habido algn tipo de error.
La instruccinreturnno es una funcin, se trata de una
sentencia que lo que hace es retornar como valor de la
funcin el valor que se le proporciona como argumento.

Declaracin y definicin
En el ejemplo anterior podemos
notar que la funcinsumarfigura en
el cdigo antes quemain. Qu
pasara si las escribiramos en
distinto orden?

En este caso el programa es errneo y


no compila, ya que en la lnea donde se
llama a la funcinsumar, el compilador
an no conoce ninguna funcin con ese
nombre, y cules son sus argumentos y
valor de retorno.
Una posible solucin
esdeclararelprototipode la funcin
al principio, para informar al compilador
que existe, y
luegodefinirelcuerpode la misma en
cualquier lugar del programa:

Paso de Parmetros
Las funciones pueden recibir datos
como lo hemos observado, pero
existen dos formas de enviar los
datos hacia una funcinpor
valorypor referencia, las cuales
modifican en diferente forma el
comportamiento de el programa.

Por Valor[editar]
El paso por valor enva una copia de
los parmetros a la funcin por lo
tanto los cambios que se hagan en
ella no son tomados en cuenta dentro
de la funcinmain(). Ejemplo:

Por Referencia[editar]
El paso por referencia se hace
utilizando apuntadores. Se enva la
direccin de memoria de la variable,
por lo tanto los cambios que haga la
funcin si afectan el valor de la
variable. Ejemplo:

Variables Locales y Globales[editar]


Adems de pasar valores a una funcin,
tambin se pueden declarar tipos de
datos dentro de las funciones, estos
tipos de datos declarados dentro de una
funcin solo son accesibles dentro de
esta misma funcin y se les conocen
como variables locales, as pues
podemos definir los mismos nombres de
variables en diferentes funciones, ya
que estas variables solo son accesibles
dentro de esas funciones. Ejemplo:

En este caso la variable dato, esta definida


dentro de cada una de las funciones y son
totalmente distinta una de otra y no se puede
utilizar fuera de esta, as pues num2 no
puede ser utilizada por la funcion1() y num1
tampoco puede ser utilizada por funcion2().
Existen pues variables que se definen fuera
de la funcin principal main() y fuera de
cualquier otra funcin creada por nosotros,
estas variables se les conoce con el nombre
de Variables Globales ya que se pueden
utilizar dentro de main() y dentro de
cualquier funcin creada por nosotros.
Ejemplo:

S-ar putea să vă placă și