Einführung: Editieren und Übersetzen

Um ein lauffähiges C-Programm zu erzeugen, muss zunächst mit einem Texteditor eine Quelltext-Datei angelegt und mit Code gefüllt werden. Anschließend wird ein Compiler gestartet, der den Quellcode in Maschinen-Code übersetzt und ein lauffähiges Programm erstellt.

Als klassisches Beispiel soll hierzu ein minimales Programm dienen, das lediglich "Hallo, Welt!" auf dem Bildschirm ausgibt. Hierzu wird mit einem Texteditor folgender Code in eine (neue) Datei hallo.c geschrieben:

// Datei: hallo.c                   /* 1. */

#include <stdio.h>                  /* 2. */

void main()                         /* 3. */
{
    printf("Hallo, Welt!\n");       /* 4. */
}

Das obige Programm enthält folgende Komponenten:

  1. Eine mit // eingeleitete Zeile am Dateianfang stellt einen Kommentar dar. Sie wird beim Übersetzen durch den Compiler ignoriert und dient lediglich der besseren Lesbarkeit. Ebenso werden Textbereiche, die durch /* und */ begrenzt sind, als Kommentare für Erklärungen oder Hinweise genutzt.[1]
  2. Mit der Anweisung #include <stdio.h> wird dem Compiler mitgeteilt, die Standard-Input-Output-Bibliothek stdio.h zu laden.[2] Diese von vielen C-Programmen genutzte „Sammlung“ an Quellcode stellt u.a. Funktionen für die Ausgabe von Text auf dem Bildschirm bereit.
  3. Die Funktion main() startet das Hauptprogramm, das sich innerhalb der folgenden geschweiften Klammern befindet. Jedes C-Programm verfügt über eine derartige main()-Funktion.[3]
  4. Durch den Aufruf der Funktion printf() wird auf dem Bildschirm der in doppelten Hochkommata stehende Text ausgegeben. Die Zeichenfolge \n steht dabei als Zeichen für eine neue Zeile. Der Aufruf der Funktion muss, wie jede C-Anweisung, mit einem Strichpunkt ; beendet werden.

Um die Datei in lauffähigen Maschinen-Code zu übersetzen, wechselt man in einer Shell in den Ordner der Quellcode-Datei und ruft den Compiler gcc auf:

gcc hallo.c -o hallo

Durch die Option -o hallo wird dabei die Output-Datei, d.h. das fertige Programm, mit hallo benannt. Ist der Compilier-Vorgang abgeschlossen, kann das neu geschriebene Programm im gleichen Ordner aufgerufen werden:

./hallo

# Ergebnis: Hallo, Welt!

Damit ist das erste C-Programm fertig gestellt. In den folgenden Abschnitten werden weitere Eigenschaften und Funktionen der Programmiersprache C erläutert sowie einige nützliche Werkzeuge und Programmiertechniken vorgestellt.


Anmerkungen:

[1]

In vielen Programmen werden ausschließlich Kommentare verwendet, die mit den Zeichenfolgen /* und */ begrenzt sind. Hierdurch wird eine Kompatibilität mit alten C-Compiler-Versionen sicher gestellt. Im obigen Tutorium wird hingegen – nach persönlichem Geschmack – die //-Variante für (einzeilige) Kommentare verwendet.

Zusätzliche Kommentare der Form /* 1. */ dienen in diesem Tutorium als Marker, um im Text auf die jeweiligen Stellen im Quellcode eingehen zu können.

[2]Genauer gesagt gilt die Anweisumg dem Präprozessor, einem Teil des Compilers.
[3]Die Bezeichung void besagt lediglich, dass die Funktion keinen Rückgabe-Wert liefert, der anderweitig im Programm zu verwenden wäre.