Hola y bienvenidos.
Vamos a ver a continuación la sintaxis para definir una función en el lenguaje C.
Están listos?
Vamos.
Bien.
Básicamente, la sintaxis para definir una función en el lenguaje C es la siguiente.
En primer lugar, tenemos que especificar el tipo de dato que va a devolver nuestra función.
Según hemos comentado, el tipo de retorno puede ser opcional.
Y a continuación vamos a ver algunos tipos de retorno que puede devolver una función.
Posteriormente vamos a tener el nombre de nuestra función.
También vamos a tener ciertas reglas, muy similar a lo que ya vimos en variables para definir el nombre
de una función y posteriormente, entre paréntesis, podemos tener parámetros también.
Estos parámetros son opcionales y después de que cerramos estos paréntesis, abrimos un bloque de código,
podemos ver que abrimos una llave y posteriormente cerramos la llave y todo lo que esté dentro de estas
llaves se le conoce como el cuerpo de la función.
Así que, por ejemplo, algunos tipos de retorno podemos observar que puede ser el tipo void, el tipo
int, el tipo float, etc en el caso de que la función no regrese ningún valor, entonces para ello
precisamente se va a utilizar la palabra reservada void.
Esta palabra de void significa vacío en español.
Esto quiere decir que no va a regresar ningún tipo de valor y entonces la función simplemente ejecuta
su código y al terminar solamente se regresa el control.
Como vamos a ver más adelante.
Pero no regresa ningún tipo de información.
Posteriormente.
El nombre de la función normalmente es un verbo o una acción a realizar.
También se inicia con minúscula y vamos a aplicar el concepto de camel keys.
Pero la diferencia de una variable es que el nombre de una función normalmente es una acción.
Es un verbo.
La tarea que va a realizar esta función.
Posteriormente, entre paréntesis, hemos comentado que esta información es opcional y esas variables
se dice que son variables locales a esta función.
Así que vamos a ir desmenuzando cada uno de estos conceptos y cuando termina de ejecutarse nuestra función,
normalmente va a tener la palabra reservada return.
Esta también es opcional en caso de que la función no regrese ningún tipo de información.
Pero si regresa alguna información, entonces es la última línea que va a tener nuestra función.
En este caso va a retornar un valor del mismo tipo que haya especificado la función.
Así que tiene que coincidir este tipo de retorno con el valor que va a retornar nuestra función.
Bien, esta es la sintaxis general de una función y vamos a continuar con más temas relacionados con
funciones.
Ahora vamos a ver cómo declarar una función y también cómo utilizarla, ya que no basta con declarar
la función, sino que también tenemos que mandarla llamar para que se ejecute ese bloque de código reutilizable,
es decir, que se ejecute la tarea para la cual fue creada dicha función.
Así que, en primer lugar, en este caso vamos a definir una función que se llame Imprimir.
Esta función no va a regresar ningún tipo de información, solamente va a mandar a imprimir cierta información
a consola.
No es lo mismo mandar a imprimir información a consola que regresar un valor.
Así que esta función va a recibir cierta información, va a ser un valor de tipo entero.
Y entonces abrimos y cerramos nuestro bloque de código.
Y dentro de la función, dentro del cuerpo de la función, simplemente vamos a mandar a imprimir la
variable que estamos recibiendo, la variable de parámetro.
Así que esta variable de parámetro se convierte en una variable local.
A Este método se crea cuando se van a llamar a este método y se destruye cuando termina de ejecutarse
este método.
En este caso es lo mismo una función que un método.
Así que por ahí en ocasiones voy a utilizar la palabra función o método.
Es exactamente lo mismo y entonces con eso tenemos apenas la declaración de nuestra función.
Simplemente recibe cierta información y la va a mandar a imprimir a consola.
Pero como segundo paso tenemos que mandar a llamar nuestra función.
Así que vamos a ver ahora, por ejemplo, desde el programa principal podemos mandar a llamar esta función,
así que podemos tener ciertas líneas de código, pero en cierto punto de nuestro programa podemos mandar
a llamar la función para mandar a llamar la función.
Podemos observar que vamos a utilizar simplemente el nombre de la función y entre paréntesis vamos a
proporcionar la información que requiere nuestra función.
En este caso estamos pasando el valor de 100 y se va a asignar a la variable de parámetro.
Así que cuando se van a llamar la función de imprimir, la variable de parámetro se va a inicializar
con el valor de 100, así que es el valor que se va a mandar a imprimir.
Bien, sin embargo, la ventaja de las funciones es que podemos mandarlas a llamar tantas veces como
necesitemos, así que podemos tener más líneas de código y en cierto momento de nuestro programa podemos
volver a mandar, a llamar nuestra función.
Y por ejemplo, en este caso podemos observar que en lugar del valor de 100, ahora le pasamos un valor
distinto el valor de 200.
Y entonces con eso vamos a conseguir reutilizar nuestro código.
Por ello es que ahora nuestros programas son modulares y reutilizables.
Ahora sí se ejecutarán nuestro programa principal.
Entonces podemos observar que inicia la ejecución desde la parte superior hacia la parte inferior,
como ya sabemos, y en cuanto llega la llamada a la función imprimir, se detiene la ejecución de nuestro
programa principal, se pone en pausa y entonces se ejecuta la función de imprimir.
Así que se cede el control de la función principal.
Y ahora vamos a la función de imprimir.
La función principal se pone en pausa y ahora en la memoria se va a ejecutar nuestra función de imprimir.
Así que podemos observar que se crea la variable de parámetro en memoria.
Es una variable local al método e imprimir y además recibe el valor de 100.
Así que lo que sucedió es que se pasa esta información a la variable de parámetro y entonces se inicializa
con el valor de 100.
Y entonces ahora lo que sucede es que la función de imprimir se va a ejecutar de igual manera desde
la parte superior hacia la parte inferior.
En este caso solamente tiene una línea de código.
Es para que entendamos el proceso de declaración, uso y ejecución de una función.
Así que en este caso simplemente va a mandar a imprimir el valor de 100, ya que es la información que
se le está mandando a nuestra función de imprimir.
Se imprime este valor de 100 en consola y entonces se regresa el control a la función principal.
Podemos ver que en este caso no está regresando ningún tipo de información.
La función de imprimir solamente mandó a imprimir el valor de 100.
Regresa el control en la función principal y continuamos con las demás líneas de código.
Así que se reanuda la ejecución del programa principal y si encontramos de nueva cuenta una función,
en este caso de nueva cuenta, es la función de imprimir.
Se vuelve a poner en pausa la función principal y de nueva cuenta cedemos el control hacia la función
de imprimir.
Se vuelve a crear de nueva cuenta la variable de parámetro, pero esta vez se le asigna el valor de
200.
Recordemos que la variable de parámetro se destruyó al momento en que terminó de ejecutarse la primera
vez la función de imprimir.
Así que esta es la segunda vez que se ejecuta la función de imprimir.
Por lo tanto, la variable de parámetro se vuelve a crear.
Es una variable local al método imprimir y entonces lo que sucede se vuelve a ejecutar nuestra función.
Se imprime ahora el valor de 200 en consola y una vez que termina de ejecutarse la función, se regresa
el control a la función principal.
Así que se reanuda la ejecución del programa principal.
Y si ya es la última línea de código, simplemente termina ya también de ejecutarse el programa principal.
Así que desde el flujo de ejecución de una función podemos observar que en primer lugar la tenemos que
declarar.
Posteriormente, en alguna parte de nuestro programa tenemos que mandar a llamar la función para que
se ejecute y finalmente podemos mandar a llamar esta función tantas veces como la necesitemos.
Bien, vamos a detener hasta aquí este video y vamos a continuar con más características del tema de
funciones.
Saludos.