EMZETT.
Login

Kurz: C ist eine kompilierte, imperative Sprache mit sehr wenigen Sprachmitteln und direktem Zugriff auf den Speicher. Es gibt keinen Garbage Collector, keine Klassen und keine Ausnahmen.

Teil des Kurses C

Kapitel 1 von 15 im Kurs C (Abschnitt „Einstieg“). Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

C ist eine kompilierte, imperative Sprache mit sehr wenigen Sprachmitteln und direktem Zugriff auf den Speicher. Es gibt keinen Garbage Collector, keine Klassen und keine Ausnahmen. Du bist selbst für Speicher und Fehlerbehandlung verantwortlich. Dafür bekommst du maximale Kontrolle und Geschwindigkeit.

Wo wird C eingesetzt?

BereichBeispiele
BetriebssystemeLinux-Kernel, Windows-Kern, macOS/BSD
Eingebettete SystemeMikrocontroller (Arduino-Kern), Fahrzeug-Steuergeräte, Router
Sprachen und WerkzeugeCPython, PHP, Ruby, Git, Compiler
Datenbanken und ServerPostgreSQL, Redis, SQLite, nginx
Spiele und GrafikEngines, Treiber, Bibliotheken

Wie wird aus C-Code ein Programm?

  1. Präprozessor: verarbeitet #include und #define
  2. Compiler: übersetzt jede .c-Datei in Assembler und dann in Objektcode (.o)
  3. Linker: verbindet Objektdateien und Bibliotheken zur ausführbaren Datei
gcc -Wall -Wextra -std=c17 -o hallo hallo.c
./hallo

Immer mit -Wall -Wextra übersetzen: Der Compiler warnt dann vor vielen typischen Fehlern. Das Ergebnis ist Maschinencode für dein System, nicht übertragbar auf andere Betriebssysteme oder Prozessoren.

Dein erstes Programm

hallo.c

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

Ausgabe:

Hallo, Welt!
  • #include <stdio.h> bindet die Standardbibliothek für Ein- und Ausgabe ein
  • int main(void) ist der Startpunkt; der Rückgabewert 0 heißt “erfolgreich”
  • printf gibt Text aus; \n ist der Zeilenumbruch
  • Anweisungen enden mit ;, Blöcke stehen in { }

C im Vergleich

CPythonJavaRust
Speichermanuellautomatischautomatisch (GC)geprüft zur Compilezeit
Geschwindigkeitsehr hochlangsamhochsehr hoch
Sicherheitgering (du trägst die Verantwortung)hochhochsehr hoch
Einstiegschwererleichtmittelschwer

Standards

C wurde mehrfach standardisiert: C89/C90, C99, C11, C17, C23. Dieser Kurs nutzt C17 (-std=c17), die meisten Beispiele laufen auch mit C99 und C11.

Merke

  • C ist kompiliert, schnell und hardwarenah, ohne Garbage Collector
  • Präprozessor → Compiler → Linker erzeugen das Programm
  • Immer mit -Wall -Wextra übersetzen
  • Startpunkt ist int main(void); return 0 heißt Erfolg
  • Du bist für Speicher und Sicherheit selbst verantwortlich

Quiz zur Selbstkontrolle

Weiter im Kurs

Weiter: Aufbau eines C-Programms

Alle Kapitel: C im Überblick