CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
FUNCIONES EN C
1.- ESTRUCTURA DE UN PROGRAMA EN C
Todo programa en C consta de una o varias funciones, una de las cuales se llama main. El programa siempre empieza con la ejecución de la función main. Puesto que main es una función, debe seguir las reglas para funciones que veremos en los siguientes apartados. La definición de funciones adicionales a main pueden preceder o seguir a main.
El esqueleto típico de un programa C es el siguiente
#includes
#defines
prototipos de funciones y variables no locales (pueden ir en los includes)
cuerpo de funciones
main() o main(argc, argv)
cuerpo de funciones
El orden dado en el esqueleto no es estático, es decir, por ejemplo podemos usar includes o defines dentro del cuerpo de main, o en otra parte, pero es una técnica de menor claridad. Además, debemos recordar que las declaraciones se extienden desde el punto de declaración, es decir, antes no existen y por lo tanto, no podemos hacer referencia a ellas.
2.- FUNCIONES: DEFINICIÓN Y PECULIARIDADES
En este punto trataremos superficialmente aspectos de las funciones, adoptando la operatoria más estándar para su definición y uso. Como ya sabemos, en C todo son funciones, es decir, no hay procedimientos, pero se les permite a las funciones que no retornen valores o que retornen varios. Lo más normal es retornar un solo valor.
Toda definición de función debe constar de:
Cabecera de la función
Cuerpo de la función
Donde el formato que hemos adoptado para la cabecera es:
tipo nombre(tipo1 arg1, ., tipon argn) Para todo n>=0
y el significado de cada uno de sus elementos:
tipo: indica el tipo de dato que retorna la función.
arg1, , argn: los identificadores de los parámetros que necesita la función, que son locales.
tipo1, , tipon: los tipos de los parámetros de la función.
nombre: el nombre de la función, por medio del cual la referenciamos.
Toda función debe contener al menos una sentencia return. Return indica que retornamos la ejecución al punto de llamada. Puesto que son funciones, return debe ir seguido por un valor de retorno, que debe ser del mismo tipo que el indicado en la declaración de la función.
Ej:
long int factorial(int n)
Cuando una función no retorna nada podemos:
No especificar la palabra reservada return.
Usar return sin parámetro.
Especificar return con la palabra reservada void.
Ejemplo de función que no necesita parámetros y no retorna:
void programa(void)
*******
return (void)
Un caso especial de función es main, que ni especifica el tipo, ni utiliza return y puede o no llevar parámetros.
Ejemplo
main()
*******
Aunque está permitido su uso de esta forma, los compiladores tienden a indicar un warning por este uso.
3 PROTOTIPOS: DECLARACIÓN DE FUNCIONES
En algunos casos necesitamos acceder a una función que todavía no está definida. Las alternativas son dos:
Definir primero la función
Declarar primero la función
Declarar una función, prototipo, consiste únicamente en indicar la cabecera de la función, es decir:
tipo nombre(tipo1 arg1, ., tipon argn); Para todo n>=0
El prototipo indica al compilador que vamos a acceder a una función cuya definición está más abajo, lejos o en otro módulo que el punto de llamada. Es práctica recomendable, definir prototipos para todas las funciones, aunque no sea necesario.
Ejemplo:
#include <stdio.h>
long int factorial(int n); /* Declaración de función o prototipo*/
main()
long int factorial(int n) /* Definición de función*/
4 ACCESO A LAS FUNCIONES Y PASO DE ARGUMENTOS
Se accede a las funciones especificando su nombre seguido de argumentos encerrados entre paréntesis y separados por comas. Las llamadas, accesos, a funciones pueden aparecer solas en una línea de código o ligadas a expresiones. Los argumentos deben coincidir en tipo y número con los de la declaración.
En términos generales el paso de argumentos es por valor. También puede ser por dirección en cuyo caso, si el tipo no es estructurado debe ir precedido por &. En los siguientes temas se tratará más afondo el paso de argumentos estructurados y punteros.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 625
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved