E N D
Tipo de dato que regresa: void, float, double, int, char Tipo de dato que recibe: void, float, double, int, charTipoDato miFun(TipoDato var1, TipoDato var2, ……){ TipoDato a, b, c; // variables locales TipoDato valor; ….. return valor; // debe ser del mismo tipo que aparece en la parte izquierda del encabezado } Definición de una función Ejemplo:void miFun(void) // definición{ int i; for( i = 0; i < 100; i++) { if( i == 5) return; // OJO aquí quiero que termine }}int main() // definición { miFun(); // invocación return 0;}
int miFun(int n) // definición{ int i; for( i = 0; i < n; i++) { if( i == 5) return n / 2; // OJO aquí quiero que termine }return n; // OJO aquí, necesario porque debe de regresar algo }int main() // definición{ int p; p = miFun(100); // invocación return 0;} También asi : int miFun(int n); // prototipo de la función que se define abajo int main(){ int p; p = miFun(5); // invocación return 0;} int miFun(int n) // definición{ int i; for( i = 0; i< n; i++) { if( i == 5) return n / 2; } return n; }
// prototipos:void miFun1(void);void miFun2(void);float miFun3(float q, float r);int main(){ miFun1(); // invocación return 0;}void miFun1(void) // definición{ miFun2();}void miFun2(void) // definición{ float a, b, p; // hacemos algo aqui p = miFun3(a, b);}float miFun3(float q, float r){ float res = q * r; return res;}
Recordar que las variables locales se crean al momento de la invocación de la función y se destruyen inmediatamente después. Las variables declaradas dentro de una función, incluso los parámetros, son variables locales float volEsf(float radio) { float r; r = 4 / 3. * PI * radio * radio * radio; return r; } En contraste, las variables estáticas, que incluyen a las variables globales, permanecen durante todo el programa #include <stdio.h> float area = 10; // variable global int MiFun(void) { float volumen; static int contador; // inicia con 0 area = area + 1 ; // acceso a la variable global contador++; return contador; } int main(void) { printf("%i %f\n", MiFun(), area ); // imprime 1 11.00 printf("%i %f\n", MiFun(), area ); // imprime 2 12.00 area = area * 10 ; // acceso a la variable global return 0; }