Ein paar Anmerkungen zu C, kein C-Kurs

Anmerkungen zu C

A B C C++
Wenn Architekten so bauen würden, wie Programmierer Ihre Programme machen, könnte ein einziger Specht ganze Städte zerstören. (Quelle: unbekannt)

Die Programmiersprache C ist eine imperative Compilersprache. Sie wurde Anfang der 1970er Jahre von Dennis Ritchie und Brian Kernighan für das Betriebssystem Unix entwickelt. Die Anwendungsgebiete von C sind sehr universell, so wird es sowhl zur System- als auch zur Anwendungsprogrammierung verwendet. Weil die Kernel und die grundlegenden Programme aller Unix-System, also auch Linux, in C geschrieben sind, gelten Unix/Linux und C gewissermaßen als untrennbar. Allerdings gibt es auch für viele andere Betriebssysteme C-Compiler. Sprachen wie C++, C#, Objective-C, Perl und viele andere orientieren sich in vielerlei Hinsicht an C.

Wie bereits eingangs erwähnt, ist C eine Compilersprache, d.h. ein C-Programm muss zuerst in Maschinencode übersetzt werden, bevor es ausgeführt werden kann. Man braucht also einen C-Compiler um C-Programme in ausführbare Programme zu übersetzen. Auf einem Linux-Rechner ist die Wahl des Compilers recht einfach: Der GNU-C-Compiler gcc bietet sich an.

Editieren - Compilieren - Ausführen

#include int main(void) { printf("Hello World!\n"); return 0; } Obige Programm, welches die Zeile "Hello World!" ausgibt, bitte unter dem Namen hello.c speichern. Dann im gleichen Verzeichnis den Befehl > gcc hello.c auf der Shell ausführen. Im Verzeichnis befindet sich anschließend, wenn der Compiler keine Fehler gefunden hat, ein Verzeichnis mit dem Namen a.out. Dieses Programm kann man dann ausführen: > ./a.out Als Ergebnis sollte man dann den Gruß an die Welt sehen!

Will man übrigens direkt nach der Compilierung einen schöneren Namen als a.out haben, so kann man den Compiler mit der Option -o aufrufen. Hinter -o schreibt man dann den gewünschten Namen. In unserem Beispiel hello: > gcc -o hallo hello.c

Header-Dateien

Bei der Programmierung in C (ebenso in C++ und manchen anderen Programmiersprachen) werden Header-Dateien verwendet, um Definitionen von Konstanten und Deklarationen für Funktionensaufrufe (eigene, System-, und Bibliotheksfunktionen) abzulegen. Besonders sinnvoll ist der Einsatz von Header-Dateien in Programmen mit großem aber auch bei mittelgroßem Umfang. Diese Dateien können von verschiedenen C-Quelltextprogrammen inkludiert werden. Dies geschieht mit dem Befehl "include" #include // ... Rest des Programmtextes Die Zeile "#include " wird textuell durch die Header-Datei stdio.h ersetzt.

Online-Kurse

  • Einen sehr guten C-Kurs bietet die mathematische Fakultät der Universität Göttingen. Dort findet man auch weitergehende Literaturhinweise. In diesem Kurs wird auch eingehend auf Pointer (Zeiger), Pointer-Arithmetik (Zeiger-Arithmetik) und die Verwendung von Zeigern bei Feldern eingegangen. Gerade Pointer sind schließlich ein Konzept, was vielen Anfängern in C Kopfzerbrechen bereiten kann.