1 / 40

Funciones

Funciones. Programación en C para electrónicos. Índice. Funciones en C. Variables y parámetros. Devolución de resultados. Paso de parámetros. Por referencia. Por valor. Parámetros de la función main. Funciones en C. Programación en C para electrónica. Función.

sunee
Download Presentation

Funciones

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Funciones Programación en C para electrónicos

  2. Índice • Funciones en C. • Variables y parámetros. • Devolución de resultados. • Paso de parámetros. • Por referencia. • Por valor. • Parámetros de la función main. Funciones en C - David Carmona 2010

  3. Funciones en C Programación en C para electrónica. Funciones en C - David Carmona 2010

  4. Función • Una función en C, es un conjunto de sentencias identificadas por un nombre. • Una función realiza determinadas tareas sobre un conjunto de datos. • Las tareas que realiza la función siempre son las mismas. • Los datos obre los que opera la función pueden cambiar de una ejecución a otra. Funciones en C - David Carmona 2010

  5. Función main • Todo programa en C dispone de una o más funciones; una de las cuales debe llamarse main. • main es la función principal del programa. • La ejecución del programa comienza en la función main. • Desde la función main se puede “llamar” a otras funciones, ya sean de librería o creadas por el programador. Funciones en C - David Carmona 2010

  6. Definición de funciones • La definición de una función consta de dos partes: • Cabecera: • Indica el nombre de la función, datos que recibe y tipo de resultado que devuelve. • Cuerpo: • Conjunto de sentencias encerradas entre llaves. Funciones en C - David Carmona 2010

  7. Sintaxis: tipoNombreFuncion (tipo1par1,…,tipoNparN) { sentencia_1; … sentencia_N; } Cabecera Cuerpo Funciones en C - David Carmona 2010

  8. Sintaxis: • tipo: • Tipo de dato que devuelve la función como resultado. • Por defecto es int. • NombreFuncion: • Identificador que se utilizará para llamar a la función. • tipo_ipar_i: • Tipo y nombre de cada uno de los parámetros que recibe la función. • Lista de parámetros encerrados entre paréntesis y separados por comas. • Cuerpo: • Sentencias que se ejecutan en la función. • Incluyen declaración de variables, llamadas a otras funciones, etc… Funciones en C - David Carmona 2010

  9. Prototipos de función • Para poder llamar a una función esta debe haber sido definida previamente. • Esto obliga a definir todas las funciones antes de poder ser llamadas. • El prototipo de una función permiten al compilador conocer el tipo de resultado y el numero y tipo de parámetros de una función sin necesidad de escribir todo el código de la función. Funciones en C - David Carmona 2010

  10. Sintaxis • El prototipo de una función, coincide con su cabecera finalizada con punto y coma (;). • El prototipo de una función, siempre se escribe fuera del cuerpo de cualquier función y antes de la primera llamada a la función que representa. tipoNombreFuncion (tipo1par1,…,tipoNparN); Funciones en C - David Carmona 2010

  11. Ejemplo Funciones en C - David Carmona 2010

  12. Llamada • La llamada se hace utilizando el nombre de la función y una lista de parámetros entre paréntesis.(si son necesarios) • La llamada termina en punto y coma (;). • La lista de parámetros de la llamada debe coincidir en numero, orden y tipo con los indicados en la definición de la función. • Pueden ser variables, constantes o expresiones. • Ejemplo: suma (a+3,1.59); Funciones en C - David Carmona 2010

  13. Llamada • Cuando se llama a una función, la ejecución del programa “salta” a la primera sentencia de la función. • Si llamamos a una función desde main, dejaremos de ejecutar el código de main para ejecutar el código de la función. • La función termina de ejecutarse cuando se llega al final del cuerpo de la función o se ejecuta la sentencia return. • Cuando se termina la función, se vuelve a la parte del programa desde donde se llamó a la función. • La siguiente sentencia en ser ejecutada es la siguiente a la llamada de la función. Funciones en C - David Carmona 2010

  14. Variables y parámetros Programación en C para electrónica. Funciones en C - David Carmona 2010

  15. Ámbito de variables • El ámbito de una variable es la parte del programa desde la cual es accesible. • El ámbito de una variable depende de en que parte del programa se declara la variable. • Clasificación: • Variables locales. • Variables globales. Funciones en C - David Carmona 2010

  16. Clasificación de variables Funciones en C - David Carmona 2010

  17. Variables locales • Una variable local se declara al principio del cuerpo de una función. (incluida main) • Las variables locales solo son accesibles mientras se ejecuta el código de la función en la que son declaradas. • El espacio de memoria que ocupan, se reserva en la declaración y se libera cuando se sale de la función (con return). Funciones en C - David Carmona 2010

  18. Variables globales • Se declaran fuera del cuerpo de toda función, al principio del archivo de código principal. • Son accesibles desde cualquier función del programa. • Se crean (reserva espacio de memoria) al iniciar la ejecución del programa y se destruyen al finalizar la ejecución. Funciones en C - David Carmona 2010

  19. Parámetros • La lista de variables declaradas en la definición de la función se conocen como parámetros formales. • El ámbito de los parámetros formales es el mismo que el de una variable local a la función. • Existen solo mientras dura la ejecución de la función. • Se pueden declarar variables locales con el mismo nombre en distintas funciones, pero no pueden coincidir con el nombre de ninguna variable global. Funciones en C - David Carmona 2010

  20. Devolución de resultados Programación en C para electrónica. Funciones en C - David Carmona 2010

  21. Devolución de resultados • Cuando termina la ejecución de una función, la ejecución vuelve a la zona del programa desde donde se llamó a la función. • La ejecución de la función finaliza con la sentencia return. • Si no hay ningún return, la función finaliza en la llave que cierra el cuerpo. • Cuando el tipo valor devuelto por la función no es void, la sentencia return especifica el valor que devolverá la función. Funciones en C - David Carmona 2010

  22. Ejemplo Funciones en C - David Carmona 2010

  23. Ejemplo • Ejemplo de llamada: Funciones en C - David Carmona 2010

  24. Paso de parámetros Programación en C para electrónica. Funciones en C - David Carmona 2010

  25. Paso de parámetros • Los parámetros son variables que actúan de enlace entre el programa desde donde se llama a la función y el cuerpo de la misma. • Los parámetros formales, se crean y reciben sus valores al entrar en la función (en la llamada) y se destruyen al finalizar la función. • Hay dos formas de pasar valores a la función: • Por valor. • Por referencia. Funciones en C - David Carmona 2010

  26. Paso por valor • En la llamada de la función, los parámetros formales reciben una copia de los valores utilizados en la llamada. • Las expresiones utilizadas en la llamada como valores pasados a la función se conocen como parámetros reales. Funciones en C - David Carmona 2010

  27. Diferencias Parámetros formales Parámetros reales Parámetros formales Funciones en C - David Carmona 2010

  28. Ejemplo Funciones en C - David Carmona 2010

  29. Paso por referencia • En el paso de parámetros por valor, la función recibe copias de los datos, por lo tanto no puede modificar los parámetros reales. • Para que una función pueda modificar el contenido de las variables que se le pasan como parámetro real, debemos utilizar el paso de parámetros por referencia. • El paso de parámetros por referencia hace uso de punteros y de los operadores * y & (dirección e indirección). • También permite que una función devuelva mas de un resultado. Funciones en C - David Carmona 2010

  30. Paso por referencia • En el paso por referencia, los parámetros formales de la función son punteros. • Lo que recibe la función es la dirección de la variable que contiene el dato. • Modificando el contenido de esa dirección de memoria estaremos modificando el valor del parámetro real. • En la llamada a la función se utiliza como parametro real la dirección de la variable (&variable) Funciones en C - David Carmona 2010

  31. Ejemplo Funciones en C - David Carmona 2010

  32. Ejemplo Funciones en C - David Carmona 2010

  33. Funciones y vectores • Los elementos de un vector se pueden pasar como parámetros a una función tanto por valor como por referencia. • De esta forma se pasa a la función una copia del valor o de la dirección del elemento en cuestión. • Ejemplo: Resultado = cuadrado (vector[6]); • El vector completo (todos los elementos) solo se puede pasar por referencia. Funciones en C - David Carmona 2010

  34. Funciones y vectores • En el paso de vectores como parámetro no se utilizan los operadores & y *. • El nombre del vector actúa como referencia (puntero) al primer elemento de la tabla. • El parámetro formal de la función que recoja el vector debe definirse como un puntero del mismo tipo que el vector. • Este puntero recogerá la dirección del primer elemento del vector. Funciones en C - David Carmona 2010

  35. Ejemplos de definición float media (float*vector); float media (floatvector[]); • No hay diferencia entre definir el parámetro como puntero o como vector. • Si la función solo va a tratar con vectores de tamaño constante, este se puede indicar en la declaración. float media (floatvector[size]); Funciones en C - David Carmona 2010

  36. Ejemplo Funciones en C - David Carmona 2010

  37. Ejemplo Funciones en C - David Carmona 2010

  38. Parámetros de main Programación en C para electrónica. Funciones en C - David Carmona 2010

  39. Argumentos de main • Es posible pasar parámetros a la función main desde la línea de comandos. • Sintaxis: intmain(intargc, char*argv[]); • La función main tiene dos argumentos: • argc: Valor entero que indica la cantidad de parametros dados a main incluido el nombre del programa. • argv: Vector de punteros a cadenas que contiene los argumentos especificados en la línea de comandos. Funciones en C - David Carmona 2010

  40. Ejemplo • si nuestro programa se llama "programa", y lo ejecutamos con la siguiente línea de comandos: programa arg1arg2arg3arg4 • argc valdrá 5, ya que el nombre del programa también se cuenta como un argumento. • argv[] contendrá la siguiente lista: "programa", "arg1", "arg2", "arg3" y "arg4". Funciones en C - David Carmona 2010

More Related