ein Kapitel zurück                                           ein Kapitel weiter

Zugegeben zur Funktion exit gibt es eigentlich nicht viel zu sagen. Wie man exit verwendet wissen wir auch schon. Aber was genau bewirkt exit nun? Die Funktion exit bewirkt eine normale Programmbeendigung, wobei zuvor alle gefüllten Puffer geleert, alle geöffnete Dateien geschlossen und alle temporären Dateien die sie mit der Funktion tmpfile() angelegt haben ebenfalls gelöscht werden. Nach den "cleanup" ruft exit die Routine _exit auf um den Prozess zu beenden und zum Systemkern zurück zukehren. Hierzu dass ganze mal Bildlich....


exit, _exit, cleanup


Was ist nun mit der Funktion _exit? Diese Funktion wir benutzen wir wie schon mit exit das Programm beendet aber ohne den Aufräumarbeiten wie sie in exit gemacht werden und kehrt zum Systemkern zurück. _exit wir genauso benutzt wie exit. Hier der Syntax von _exit....

#include <unistd.h>    //unter Linux/Unix
#include <stdlib.h>    //unter MS-Dos

void _exit(int status);

Wenn sie das Programm mit exit verlassen (wollen) hat es sich schon als Standart festgelegt, den Wert 0 zu verwenden. Aber auch hier können sie wie beim return Befehl die Makros EXIT_SUCCESS für eine erfolgreiche Beendigung, oder EXIT_FAILURE für eine fehlerhafte Beendigung verwenden.....

exit(EXIT_SUCCESS);
exit(EXIT_FAILURE);

Diese beiden Makros sind in der Headerdatei <stdio.h> deklariert.

Nach ANSI-C Standart ist es auch egal ob sie schreiben.....

exit(0);

....oder....

return 0;

Mit beiden erreichen sie das selbe in der main-Funktion. Doch einen entscheidenten Unterschied gibt es zwischen exit und return. Mit exit können sie aus jeder Funktion heraus das Programm beenden. Mit return nur aus der main-Funktion herraus.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf