Funciones

Funcionalidad Principal - Función Main: representa el punto de ejecución a partir del cual el programa toma el control de la ejecución, antes de eso ya a ocurrido otras cosas en nuestro programa. Esta es imprescindible en cualquier programa.  - Función exit: esta función es utilizada, para terminar el programa, puede ser utilizada desde cualquier punto. Ejemplo: #include 
 * 1) include 
 * 2) include 

int main(void) { int status; puts("Introducir 1 o 2"); status = getch; exit(status - '0'); // Sets DOS errorlevel (status - 48) return 0; // Observación: esta linea nunca será ejecutada } - Función atexit : permite ejecutar un código específico en la terminación. Devuelve un entero: 0 si la operación se realiza correctamente y otro valor si hay error (no existe espacio para registrar la nueva función). Ejemplo: #include 
 * 1) include 

void fun1(void) { puts("Llamada función de salida #1"); } void fun2(void) { puts("Llamada función de salida #2"); }

int main(void) { atexit(fun1); // añade fun1 a la terminacion atexit(fun2); // añade fun2 a la terminación return 0; }  <span style="font-family: "Arial","sans-serif"; font-size: 12pt; line-height: 115%;">- <span style="font-family: "Arial","sans-serif"; font-size: 12pt; line-height: 115%;">Función abort : provoca la terminación anormal del programa, no destruyendo variables globales. Ejemplo: <span style="font-family: "Arial","sans-serif"; font-size: 12pt; line-height: 115%;"> <span style="font-family: "Arial","sans-serif"; font-size: 12pt; line-height: 115%;"> <span style="font-family: "Arial","sans-serif"; font-size: 12pt; line-height: 115%;">#include <stdio.h>
 * 1) include <stdlib.h>

int main(void) { puts("El progrma aborta"); abort; return 0; // Esta línea nunca es ejecutada <span style="font-family: "Arial","sans-serif"; font-size: 12pt; line-height: 115%;">- <span style="font-family: "Arial","sans-serif"; font-size: 12pt; line-height: 115%;">Función Raise : esta función envía una señal sing al programa padre de la aplicación, si la función tiene éxito la función devuelve cero, si no un dato distinto. Ejemplo: <span style="font-family: "Arial","sans-serif";">#include <signal.h>

int main(void) { int a = 10, b = 0; if (b == 0) raise(SIGFPE); // previene error de dividir por cero a = a / b; return 0; } <span style="font-family: "Arial","sans-serif"; font-size: 12pt; line-height: 115%;">