Beruflich Dokumente
Kultur Dokumente
Definición de subprogramas en C
Subprogramas en C
• “Sinónimos” de subprograma
– 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.
Subprogramas en C
void main
<tipo> <nombre>,
int sumar <tipo> <nombre>,
double borrar_HDD …
… …
Subprogramas en C
<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.
Ejemplo
Void mostrar_bienvenida(){
2 printf(“********************\n”);
3 printf(“** **\n”);
4 printf(“** BIENVENIDO **\n”);
5 printf(“** **\n”);
6 printf(“********************\n”);
}
void main(){
1 mostrar_bienvenida();
7 printf(“Adios!\n”);
}
Ejemplo
void f(){ void main(){ void f(){
… f(); …
} g(); void g(){
void g(){ f(); …
… h(); }
} } }
void h(){ void f(){ void h(){
… … …
} } }
void main(){ void g(){ void main(){
f(); … f();
g(); } g();
f(); void h(){ f();
h(); … 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
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>);