20% Rabatt mit Code ERSTIS26

C · EMBEDDED · 1:1 · 60 MIN · AB 59,99 €/H

C und Pointer, erklärt von jemandem, der's ausliefert.

Live mit einem Software Engineer aus dem Embedded-Umfeld. Wir debuggen deinen Segfault, zeichnen das Speicherbild und machen malloc, free und Pointer-Arithmetik endlich langweilig statt furchteinflößend.

Anton, Software Engineer · C und Embedded · FIAE Anton LIVE Software Engineer · C und Embedded · FIAE antwortet ≤ 6 h Kostenloses Erstgespräch →

Erst sehen, wie wir Speicher zeichnen? Antons Memory-Snapshot ansehen →

  • 60 Min · 1:1 mit Embedded-Dev
  • Speicher- und Pointer-Diagramme im Browser
  • Stornierung bis 12 h vorher

Live aus einer Session

list.c ⎙ geteilt
// rückwärts freen, head zuletzt
void free_list(Node *head) {
  while (head != NULL) {
    Node *next = head->next;
    free(head);
    head = next;
  }
}
Erst next sichern, dann head freen. Sonst läufst du in einen freigegebenen Pointer. — Anton, vor 14 min
C · SPEICHER LESEN

In C kannst du sehen, was im RAM passiert. Genau das ist der Trick.

Dieselbe Allokation, zwei Momentaufnahmen: vor dem free() und danach. Was Java-Compiler und Pythons GC für dich erledigen, übernimmst du in C selbst. Wer das einmal gesehen hat, verliert die Angst vor Segfaults.

t = 1 · alles legitim
t = 2 · nach free(arr)
  1. 01
    Was passiert hier

    free() gibt den Heap-Block an malloc zurück. Der Stack-Pointer arr bleibt unverändert — er zeigt weiter auf dieselbe Adresse. Daher der Name dangling pointer (baumelnder Zeiger). Du kannst arr noch dereferenzieren, der Compiler sagt kein Wort.

  2. 02
    Warum nichts sofort crasht

    Der freigegebene Block ist noch im Adressraum deines Prozesses — das Betriebssystem hat ihn noch nicht zurückgenommen. malloc markiert ihn nur als verfügbar. Heißt: du liest alte Werte, klappt manchmal, bricht spätestens dann, wenn malloc den Block neu vergibt und du fremde Daten liest.

  3. 03
    Warum C das nicht verhindert

    C verlangt Lifetime-Tracking vom Entwickler. free() ist nur ein normaler Funktionsaufruf — der Compiler sieht keinen Zusammenhang zwischen free(arr) und einem späteren arr[0]. Java/Python haben Garbage Collection und Bounds-Checking; in C ist das deine Aufgabe.

Antons Faustregel

Nach jedem free() sofort `arr = NULL;` setzen. Der nächste Zugriff erzeugt dann garantiert einen Segfault — der Bug wird sichtbar statt heimlich. Failing fast > Silent Corruption. In großen Codebases spart dir das Tage Debug-Zeit.

PS Profi-Variante: `valgrind ./prog` markiert Use-After-Free, Double-Free und Heap-Corruption zur Laufzeit, mit genauer Stelle. In einer Session zeigen wir dir, wie du Valgrinds Output liest — das ist das wichtigste Tool, das du in C lernen kannst.
C-CURRICULUM

C und Embedded-Basics, in einfacher Sprache.

Vom ersten int main() bis zur kleinen Embedded-Routine, die einen Sensor über ein Register liest. Wir konzentrieren uns auf das, was auf deinem Klausurzettel oder Steckbrett steht, nicht auf jeden Winkel des Standards.

01

C-Grundlagen

Typen, Kontrollstrukturen, Funktionen, der Build-Prozess. Die Basis, die Programmier-Klausuren am häufigsten abfragen.

  • int, float, char und der Typen-Zoo
  • if, while, for: die C-Variante
  • Funktionen, Parameter, Rückgabewerte
  • Header-Dateien vs Übersetzungseinheiten
  • make, gcc und ein minimaler Build
  • printf, scanf und Format-Specifier
02

Pointer und Speicher

Der Block, an dem die meisten hängenbleiben. Wir zeichnen ihn aufs Whiteboard, bis es klickt.

  • Pointer als Adressen, aufgezeichnet
  • Pointer-Arithmetik ohne Angst
  • Stack vs Heap, in Bildern
  • malloc, calloc, realloc, free
  • Doppelpointer und Pointer-Arrays
  • Typische Segfault-Muster
03

Arrays, Strings, Structs

Wie C Sammlungen speichert und warum Arrays in C keine echten First-Class-Bürger sind.

  • Arrays zerfallen zu Pointern
  • C-Strings und das Null-Byte
  • strncpy vs strcpy, die sichere Variante
  • struct und typedef
  • Pointer auf Structs und Pfeil-Syntax
  • Verkettete Listen aus dem Nichts
04

Embedded-Essentials

Was du nur triffst, wenn C auf Hardware trifft: Register, Bit-Twiddling, ISR-Basics.

  • Bitweise Operatoren und Bitmasken
  • volatile, const und warum beide zählen
  • Memory-Mapped Register
  • Datenblatt lesen
  • Interrupts und ISR-Grundlagen
  • Toolchains für Mikrocontroller
05

Debugging und Testing

Wie du den Bug findest, ohne den ganzen Heap auszudrucken.

  • gdb-Überlebenskit
  • Valgrind für Speicherlecks
  • Core-Dumps ruhig lesen
  • Asserts und defensiver Code
  • Unit-Tests in C mit Unity / CMock
  • Code-Review-Checkliste für C
06

Standards und Stil

C89 vs C99 vs C11, MISRA-light, und wie du C schreibst, das andere lesen können.

  • C89, C99, C11: was wann nehmen?
  • Namens- und Header-Konventionen
  • Const-Korrektheit in C
  • Fehler-Handling-Idiome
  • Statische Analyse mit cppcheck
  • MISRA-Basics für Embedded
ROADMAP

So läuft eine C-Serie mit uns.

Konkrete Sessions, konkrete Ergebnisse. Nach dem Erstgespräch entscheidest du, ob wir den ganzen Bogen laufen oder direkt zu Pointer und Speicher springen.

  1. S1
    Schritt 1
    Diagnose

    Wir schauen auf deine Klausur, deine Praktikumsaufgabe oder deine Firmware. Nach 30 Min wissen wir beide, ob die Lücke bei Syntax, Pointer, Speicher oder einfach Tooling sitzt.

  2. S2
    Schritt 2
    Typen, Fluss, Funktionen

    Grundlagen ohne Hektik: Typen, Kontrollstrukturen, Scope, der Build-Prozess. Solide Basis, keine stillen Lücken.

  3. S3
    Schritt 3
    Pointer, aufgezeichnet

    Die Whiteboard-Session. Wir zeichnen Adressen, Dereferenzen und Arrays, bis Pointer-Code natürlich liest und *p, p[i] und &x keine Magie mehr sind.

  4. S4
    Schritt 4
    Speicher und Structs

    Stack vs Heap, malloc und free, Structs und verkettete Listen. Typische Segfault-Muster erkennst du auf den ersten Blick.

  5. S5
    Schritt 5
    Embedded-Winkel

    Wenn dein Kontext Hardware ist: Bitmasken, volatile, Memory-Mapped Register, ISRs. Vom Datenblatt zur funktionierenden Blink-LED.

  6. S6
    Schritt 6
    Deine Aufgabe oder Klausur

    Wir gehen deine echte Aufgabe durch. Du gehst raus mit Code, der sauber kompiliert, läuft und den du im Mündlichen verteidigen kannst.

Marcel Schmidtpeter, Gründer und Senior Developer, Study IT
VOM GRÜNDER

Warum es Study IT gibt.

Ich habe Study IT gebaut, weil ich selbst erlebt habe, wie Informatik-Lehre an der Uni auseinanderbricht.

Unsere Tutor:innen sind echte Entwickler:innen, keine Studi-Jobber.

Marcel Schmidtpeter Gründer und Senior Developer

Direkt an mich: marcel.schmidtpeter@study-it.education

DEIN TUTOR FÜR C UND EMBEDDED

Anton hat C aus dem Embedded-Bereich gelernt.

Ausbildung zum Fachinformatiker im Embedded-Bereich, danach B.Sc. Informatik, heute Software Engineer mit C-Anteilen. Pointer, Speicher, Strukturen und die Schnittstelle Hard- und Software aus erster Hand.

Anton
Online · antwortet schnell
Industrie­erfahrung
5 J
Informatik
B.Sc.
Embedded
FIAE
Anton
Embedded Software Developer
„Mein Ziel ist, dass du Sicherheit im Umgang mit Code gewinnst und Zusammenhänge wirklich verstehst, statt fertige Lösungen zu übernehmen."
Werdegang
  1. Seit 2023 Software Engineer · Industrie
  2. 2020 bis 2023 B.Sc. Informatik · Bachelorstudium
  3. Seit 2020 Online-Nachhilfe Informatik & Programmierung · Studierende, Azubis, Quereinsteiger
  4. 2017 bis 2020 Ausbildung Fachinformatiker Anwendungsentwicklung · Embedded-Bereich · IHK-Abschluss
  • Java
  • Python
  • C
  • Embedded
  • OOP
  • Algorithmen
  • Datenstrukturen
AUF EINEN BLICK
Antwortzeit
≤ 6 h
Lernende
Studierende · Auszubildende · Quereinsteiger
Sprache
Deutsch (Muttersprache)
Anton buchen, 60 €/h → Vollständiges Profil ansehen → Alle Tutor:innen ↓
PREISE

Transparente Preise. Kein Abo.

Eine Session, ein Intensiv-Block oder Semesterbegleitung. Gleicher Stundensatz, gleicher Senior-Tutor.

Mit Code ERSTIS26 · −20%
Einzelsession · 60 Min
47,99 €
59,99 €
Mit Code ERSTIS26 auf deine erste Session · bis 30.06.2026
60 Minuten 1:1
  • Live im Classroom
  • Dein Code, dein Tempo
  • Keine Mindestanzahl
  • Stornierung bis 12 h vorher
Session buchen →
Stripe · PayPal · sofort bestätigt
Stornierung bis 12 h vorher kostenfrei
Erste Stunde 47,99 € mit Code ERSTIS26
FAQ

C-Nachhilfe: häufige Fragen

Ich verstehe Pointer einfach nicht. Reicht eine Session?
Oft reicht die erste Stunde, um das mentale Modell zu drehen. Wir zeichnen Adressen aufs Whiteboard, bis p, *p und &x kein Raten mehr sind. Eine zweite Session macht es robust.
Unterrichtet ihr nur Embedded-C oder auch reines C für die Uni?
Beides. Das Klausur-C aus Programmieren I und das hardwarenahe C aus der Embedded-Ausbildung sind zwei Welten. Wir laufen mit dir genau die, die du brauchst.
Helft ihr bei einem Mikrocontroller-Projekt (z. B. STM32, AVR, ESP32)?
Ja. Bring deine Toolchain und dein Datenblatt mit. Wir machen kein Hersteller-Training, aber wir arbeiten mit dir an Registern, ISRs, Bitmasken und der typischen Embedded-Debug-Schleife.
Macht ihr auch C++?
Wir fokussieren hier auf C. C++ ist ein anderer Brocken und aktuell nicht im Angebot. Wenn deine Aufgabe größtenteils C mit ein paar C++-Touches ist, sprich uns im Erstgespräch an.
Was ist mit Tracing-Aufgaben aus Klausuren?
Ein Kern unserer Arbeit. Wir machen Altklausuren mit dir, tracen Pointer-Arithmetik, Array-Indizes und Rekursion von Hand und erklären die typischen Klausurfallen, bis sie dich nicht mehr erwischen.
Brauche ich ein lokales C-Setup?
Für die erste Session nicht. Wir starten im Browser. Für längere Bögen helfen wir dir, gcc, make und einen Debugger lokal einzurichten, damit du zwischen den Sessions üben kannst.
C / EMBEDDED · 1:1 · ERSTGESPRÄCH GRATIS

Pointer endlich verstehen, ohne Raten.

15 Min reden, dann entscheiden. Eine Session reicht oft, um das mentale Modell zu drehen. Eine zweite macht's robust.