Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

C

Home Inhaltsverzeichnis Packer/Entpacker Variable und Standarddatentypen

5 Struktur eines C-Programms

Schauen wir uns mal das (leicht erweiterte) Beispiel an. Diese Datei besteht aus verschiedenen Bereichen. Bei den Zeilen mit einem # in der ersten Spalte handelt es sich um Anweisungen für den Präprozessor. Darunter finden sich eine Deklaration einer Variablen und im Anschluß daran findet man eine Funktion. Ein gültiges C-Programm muß mindestens eine Funktion mit dem Namen main enthalten! Die Reihenfolge, in der Funktionen, Deklarationen und Präprozessoranweisungen erscheinen, ist beliebig, wichtig ist nur der Gültigkeitsbereich. Sie können auch mehrfach vorhanden sein oder entfallen, wenn sie nicht benötigt werden. Unser Beispiel first.c, das dazu diente, die Compiler in Betrieb zu nehmen, hatte keine Deklarationen. Um sich schneller in fremde Programme einzuarbeiten wird allerdings die unten aufgeführte Reihenfolge bevorzugt.

                                \
#include <stdio.h>              |- Präprozessoranweisungen
                                /
                                \
int i;                          |- Deklarationen von Datentypen
                                |  und Variablen
                                /
int main(void)                  \
{                               |
   int i; /* als Beispiel */    |
                                |- Funktionen
   printf("Hallo Welt!");       |
   return 0;                    |
}                               /

Der in '/*' und '*/' eingeschlossene Text ist ein Kommentar, der vom Compiler überlesen wird. Kommentare dienen nur dazu, einem Programmierer Hinweise o.ä. zu geben. Sie können damit zum Verständnis von Programmen beitragen oder aber Teile des Codes von der Übersetzung ausnehmen.

Einrückungen o.ä. sind nicht relevant und dienen nur dazu, daß der Programmierer optisch die Struktur des Programms leichter erfaßt. Das obige Programm ließe sich deshalb z.B. auch wie folgt schreiben:

#include <stdio.h>
int i;
int main(void) {int i;printf("Hallo Welt!");return 0;}

Durch Einfügen von Whitespaces, also Leerzeichen, Tabulator und Zeilenvorschübe wird ein Programm lesbarer formatiert. Dazu wird jeder Block innerhalb geschweifter Klammern eingerückt. Ein gute Größe sind 3 Leerzeichen, da hierbei noch nicht zuviel Platz einer Zeile verloren geht. Wenn auch die Monitore immer größer werden, so beschränkt man sich doch häufig auf maximal 80 Zeichen pro Zeile damit auch bei einem Ausdruck die Zeile komplett auf das Papier paßt und nicht vom Drucker umgebrochen werden muß.

Die Funktion kann man auch weiter aufschlüsseln. Sie besteht aus einem Funktionskopf und einem Block in geschweiften Klammern. Dieser Block kann am Blockanfang Deklarationen und anschließend Anweisungen (bzw. Statements auf "Neudeutsch") enthalten.

int main(void)                  |- Funktionskopf
{                               \
   int i;                       |- Deklarationen
                                /
   printf("Hallo Welt!");       \
   return 0;                    |- Anweisungen / Statements
}                               /

In den folgenden Kapiteln werden wir uns die einzelnen Teile genauer anschauen. Zuerst kommt etwas Theorie über Variablen und Datentypen. Anschließend können mit Anweisungen erste Übungen mit in Programmen durchgeführt werden.

Nicht jedes der Beispiele wird ein komplettes Programm sein. Solche Beispiel werden dadurch gekennzeichnet, daß in ihnen 3 Punkte (...) als Hinweis auf fehlende Teile auftauchen. Diese Beispiel müssen sie selbst in die Funktion main einbauen. Die benutzen Variablen sind auch zu deklarieren und auf sinnvolle Werte zu setzen, wenn noch keine Deklarationen vorhanden sind. Die letzte Zeile "return 0;" der Funktion main aus dem oben aufgeführten Beispiel ist immer mit zu übernehmen, wenn ein unvollständiges Beispiel in ein Programm übernommen wird. Andernfalls erhält man eine entsprechende Meldung des Compilers. Ist in dem Beispiel eine Ausgabe (printf) enthalten, muß die Zeile "include <stdio.h>" auch mit übernommen werden. Ansonsten kann sie wegfallen. Wenn die Beispiele übersetzt werden, können noch Warnungen des Compilers auftreten weil z.B. Variablen nicht weiter benutzt werden. Sie können hier ignoriert werden, da eine Abhilfe das Programm nur unnötig vergrößern würde und das Wesentliche des Beispiels verschleiert. Bei der Entwicklung eigener Programme sollte man allerdings auch auf Warnungen ein Augenmerk richten, da es sich um versteckte Fehler handeln kann.


Home Inhaltsverzeichnis Packer/Entpacker Variable und Standarddatentypen


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum