Tema 7b Subprogramas en C Subprogramas en C Subprogramas

Anuncio
Subprogramas en C
• “Sinónimos” de subprograma
Tema 7b
– Método: utilizado en OO.
– Módulo: Puede ser de más alto nivel.
– Procedimiento: por lo general no devuelve un
resultado.
– Función: por lo general devuelve un resultado.
Definición de subprogramas en C
Subprogramas en C
Subprogramas en C
<tipo salida> <nombre funcion>(<parametros entrada>)
void
int
double
…
main
sumar
borrar_HDD
…
<tipo> <nombre>,
<tipo> <nombre>,
…
<tipo salida> <nombre funcion>(<parametros entrada>){
<instrucción>;
<instrucción>;
<instrucción>;
…
<instrucción>;
Inicio
}
Cuerpo de la función
Termino
Ejemplo
Void mostrar_bienvenida(){
printf(“********************\n”);
printf(“**
**\n”);
printf(“**
BIENVENIDO
**\n”);
printf(“**
**\n”);
printf(“********************\n”);
}
Invocación de subprogramas
• Para ejecutar el código que define el cuerpo
de una función, hay que realizar una
invocación a la función.
• Para invocar a una función basta con
escribir el nombre de dicha función seguida
de sus parámetros si es que los tuviera
• Después de ejecutar la función, se sigue en
la linea posterior a la invocación.
1
Ejemplo
Void mostrar_bienvenida(){
2 printf(“********************\n”);
**\n”);
3 printf(“**
4 printf(“** BIENVENIDO **\n”);
**\n”);
5 printf(“**
6 printf(“********************\n”);
}
void main(){
1 mostrar_bienvenida();
7 printf(“Adios!\n”);
}
Ejemplo
void f(){
…
}
void g(){
…
}
void h(){
…
}
void main(){
f();
g();
f();
h();
}
Ambito de una función
• Las funciones están disponibles desde que
se declaran hacia abajo
• Lo que se define dentro de la función, solo
lo puede usar la función
• El código de la función esta “oculto”
– Desde afuera de la función se ve como un todo
– No se puede ejecutar “la mitad” de una función
Definición comun y corriente
Sin cuerpo (todavia)
void f(){
…
void g(){
…
}
}
void h(){
…
}
void main(){
f();
g();
f();
h();
}
Prototipos
• Para independizar la definición de la función de su
posicion en el código se generan prototipos.
• Se define solo la declaración de la función
• Es un “compromiso” de implementar la función
• Para poder invocar a una funcion el compilador
necesita saber
– Cual es su nombre.
– Cuales son sus parámetros.
– Que tipo de dato devuelve.
Prototipos
<tipo salida> <nombre funcion>(<parametros entrada>);
void main(){
f();
g();
f();
h();
}
void f(){
…
}
void g(){
…
}
void h(){
…
}
Prototipos
void main(){
f();
g();
f();
h();
}
void f(){
…
}
void g(){
…
}
void h(){
…
}
void f();
void g();
void h();
void main(){
f();
g();
f();
h();
}
void f(){…}
void g(){…}
void h(){…}
2
Fin tema 7b
Definición de subprogramas en C
3
Descargar