Zum Inhalt springen
C Anfรคnger 15 min

Was ist C?

C ist die Mutter aller modernen Sprachen - Fundament fuer Betriebssysteme, Datenbanken und Embedded-Systeme. Erfahre, warum C auch 2026 unverzichtbar bleibt.

Aktualisiert:
Inhaltsverzeichnis

Was ist C?

C ist eine der wichtigsten Programmiersprachen aller Zeiten. Entwickelt ab 1972 von Dennis Ritchie in den Bell Labs, ist C das Fundament, auf dem fast alles steht, was wir heute nutzen: Linux, Windows, macOS, iOS und Android-Kerne, MySQL, PostgreSQL, Git, Python (CPython!) - alle haben einen C-Kern.

Wofuer wird C genutzt?

Betriebssysteme

Der Linux-Kernel ist in C geschrieben. Die Windows-, macOS- und Unix-Kerne gleichermassen. Wer am Fundament von Software arbeitet, kommt an C kaum vorbei.

Embedded & Mikrocontroller

Auf Hardware mit wenig RAM und keinem Betriebssystem ist C oft die einzige realistische Wahl. Arduino, ESP32, Fahrzeug-Steuerungen, Medizintechnik - ueberall C.

Datenbanken & System-Tools

MySQL, PostgreSQL, Redis, SQLite, curl, Git, Bash - die Infrastruktur der Software-Welt.

Laufzeiten anderer Sprachen

  • Python (CPython) ist in C geschrieben
  • Ruby (MRI) ist in C geschrieben
  • Node.js nutzt V8 (C++) mit C-APIs
  • PostgreSQL-Erweiterungen schreibst du in C

Wer diese Sprachen wirklich versteht, kommt auf kurzem Weg zu C.

Was macht C besonders?

Klein und vollstaendig

Die Sprache hat nur rund 30 Schluesselwoerter. Die Syntax passt auf eine Postkarte. Und trotzdem kannst du alles damit bauen.

Nah an der Hardware

int zahl = 42;
int *zeiger = &zahl;
*zeiger = 100;
printf("%d\n", zahl);  // 100

Du arbeitest direkt mit Speicheradressen, siehst wie Daten im RAM liegen, kannst Bits und Bytes manipulieren. Das ist Macht - und Verantwortung.

Kompiliert zu nativem Code

Kein Garbage Collector, keine virtuelle Maschine. Dein Programm ist reine Maschineninstruktion, extrem schnell und klein.

Ueberall verfuegbar

Wo immer eine Toolchain existiert - und das ist ueberall - gibt es C.

Wie fuehlt sich C-Code an?

#include <stdio.h>
#include <string.h>

int main(void) {
    const char *namen[] = {"Max", "Anna", "Leo"};
    int n = sizeof(namen) / sizeof(namen[0]);

    for (int i = 0; i < n; i++) {
        if (strlen(namen[i]) > 3) {
            printf("Hallo, %s!\n", namen[i]);
        }
    }
    return 0;
}

Einfach? Auf den ersten Blick. Die Tuecken stecken im Detail - Pointer, Null-Terminierungen, manuelle Speicherverwaltung.

C vs. C++ vs. Rust

  • C ist minimalistisch - wenige Features, maximale Kontrolle
  • C++ ist C plus OOP, Templates, STL und viel mehr (und viel Komplexitaet)
  • Rust ist der moderne โ€œC++-Killerโ€ mit Speichersicherheit by Design

C waehlt man, wenn:

  • Man minimal bleiben will (Kernel-Module, winzige Embedded-Systeme)
  • Eine etablierte C-Codebasis gepflegt wird
  • Maximale Portabilitaet zaehlt
  • Man die Sprache darunter verstehen will

Schattenseiten

C ist unerbittlich. Typische Probleme:

  • Buffer Overflows - ueber Array-Grenzen schreiben
  • Dangling Pointers - auf freigegebenen Speicher zugreifen
  • Memory Leaks - malloc ohne free
  • Undefined Behavior - Code kompiliert, laeuft aber unberechenbar

Gute C-Programmierer kennen diese Fallen - und meiden sie mit Disziplin und Tools (AddressSanitizer, Valgrind, statische Analyse).

Lohnt sich C 2026?

Gezielt: ja. Wenn du:

  • Systemsoftware verstehen oder schreiben willst
  • im Embedded-Bereich arbeitest
  • Compiler, Laufzeiten oder Libraries anderer Sprachen verstehen willst
  • den CS-Klassiker (Linux-Kernel) studieren willst

Fuer reine Anwendungs-Entwicklung gibt es komfortablere Sprachen (Rust, Go). Aber: Wer C kann, versteht Software grundsaetzlich besser.

Als Naechstes: Im naechsten Kapitel installieren wir einen C-Compiler.

Zurรผck zum C Kurs