20% off with code ERSTIS26

C · EMBEDDED · 1:1 · 60 MIN · FROM 59.99 €/H

C and pointers, explained by someone who ships it.

Live with a software engineer from the embedded industry. We debug your segfault, draw the memory layout, and finally make malloc, free and pointer arithmetic feel boring instead of scary.

Anton, Software Engineer · C and embedded · FIAE Anton LIVE Software Engineer · C and embedded · FIAE responds ≤ 6 h Free first conversation →

Want to see how we draw memory first? Look at Anton's memory snapshot →

  • 60 min · 1:1 with an embedded dev
  • Memory and pointer diagrams in the browser
  • Cancel up to 12 h ahead

Live from a real session

list.c ⎙ shared
// free in reverse, head goes last
void free_list(Node *head) {
  while (head != NULL) {
    Node *next = head->next;
    free(head);
    head = next;
  }
}
Save next before you free head. Otherwise you walk into a freed pointer. — Anton, 14 min ago
C · READING MEMORY

In C you can actually see what's happening in RAM. That's the trick.

One allocation, two snapshots: before the free() and after. What the Java compiler and Python's GC do for you, in C you do yourself. Once you've seen this, segfaults stop being scary.

t = 1 · all legitimate
t = 2 · after free(arr)
  1. 01
    What's happening

    free() returns the heap block to malloc. The stack pointer arr is unchanged — it still holds the same address. Hence the name dangling pointer. You can still dereference arr, and the compiler won't complain.

  2. 02
    Why it doesn't crash right away

    The freed block is still inside your process's address space — the OS hasn't taken it back. malloc just marked it as available. So you read stale values. Works sometimes. Breaks the moment malloc reuses the block for someone else and you read foreign data.

  3. 03
    Why C doesn't catch this

    C asks the developer to track lifetimes. free() is just a regular function call — the compiler sees no link between free(arr) and a later arr[0]. Java/Python have garbage collection and bounds checking; in C, that's your job.

Anton's rule of thumb

Right after every free(), set `arr = NULL;`. The next dereference then segfaults loudly — the bug surfaces instead of hiding. Failing fast beats silent corruption. In a large codebase this saves days of debugging.

PS Pro move: run with `valgrind ./prog`. It flags use-after-free, double-free and heap corruption at runtime, with the exact line. In a session we'll show you how to read Valgrind's output — it's the single most important tool you can learn in C.
C CURRICULUM

C and embedded basics, in plain terms.

From your first int main() to a small embedded routine that reads a sensor over a register. We focus on what is on your exam sheet or your bench, not on every corner of the standard.

01

C basics

Types, control flow, functions, the build process. The base layer Programming exams test most.

  • int, float, char and the type zoo
  • if, while, for: the C flavour
  • Functions, parameters, return values
  • Header files vs translation units
  • make, gcc and a minimal build
  • printf, scanf and format specifiers
02

Pointers and memory

The block where most beginners stall. We draw it on the whiteboard until it clicks.

  • Pointers as addresses, drawn out
  • Pointer arithmetic without fear
  • Stack vs heap, in pictures
  • malloc, calloc, realloc, free
  • Double pointers and arrays of pointers
  • Common segfault patterns
03

Arrays, strings, structs

How C stores collections and why arrays are not really first-class.

  • Arrays decay to pointers
  • C-strings and the null terminator
  • strncpy vs strcpy, the safe one
  • struct and typedef
  • Pointers to structs and arrow syntax
  • Linked lists from scratch
04

Embedded essentials

What you only meet when C meets hardware: registers, bit-twiddling, ISR basics.

  • Bitwise operators and bit masks
  • Volatile, const and why both matter
  • Memory-mapped registers
  • Reading a datasheet
  • Interrupts and ISR basics
  • Toolchains for microcontrollers
05

Debugging and testing

How to find the bug without printing the whole heap.

  • gdb survival kit
  • Valgrind for memory leaks
  • Reading core dumps calmly
  • Asserts and defensive code
  • Unit tests in C with Unity / CMock
  • Code review checklist for C
06

Standards and style

C89 vs C99 vs C11, MISRA-light, and how to write C that other people can read.

  • C89, C99, C11: what to use when
  • Naming and header conventions
  • Const-correctness in C
  • Error-handling idioms
  • Static analysis with cppcheck
  • MISRA basics for embedded
ROADMAP

How a C series with us runs.

Concrete sessions, concrete artefacts. You decide after the first chat whether we work the full arc or jump straight to pointers and memory.

  1. S1
    Step 1
    Diagnosis

    We look at your exam, your lab task or your firmware. After 30 min we both know whether the gap is syntax, pointers, memory or just unfamiliarity with the toolchain.

  2. S2
    Step 2
    Types, flow, functions

    Drill the basics without rushing: types, control flow, scope, the build process. Solid base, no quiet gaps.

  3. S3
    Step 3
    Pointers, drawn out

    The whiteboard session. We draw addresses, dereferences and arrays until pointer code reads naturally and *p, p[i] and &x stop being magic.

  4. S4
    Step 4
    Memory and structs

    Stack vs heap, malloc and free, structs and linked lists. Common segfault patterns recognised on sight.

  5. S5
    Step 5
    Embedded angle

    If your context is hardware: bit masks, volatile, memory-mapped registers, ISRs. From datasheet to working blink-LED.

  6. S6
    Step 6
    Your assignment or exam

    We walk your real task. You leave with code that compiles cleanly, runs and that you can defend in an oral.

Marcel Schmidtpeter, Gründer und Senior Developer, Study IT
FROM THE FOUNDER

Why Study IT exists.

I built Study IT because I have seen first-hand how computer-science teaching at university falls apart.

Our tutors are working developers, not student side-jobbers.

Marcel Schmidtpeter Gründer und Senior Developer

Reach me directly: 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 · replies quickly
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."
Background
  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
AT A GLANCE
Response time
≤ 6 h
Teaches
Studierende · Auszubildende · Quereinsteiger
Language
Deutsch (Muttersprache)
Book Anton, 60 €/h → See full profile → All tutors ↓
PRICING

Transparent pricing. No subscription.

One session, an intensive block, or semester support. Same hourly rate, same senior tutor.

With code ERSTIS26 · −20%
Single session · 60 min
47,99 €
59,99 €
With code ERSTIS26 on your first session · until 30.06.2026
60 minutes 1:1
  • Live in our classroom
  • Your code, your pace
  • No minimum count
  • Cancel up to 12 h ahead
Book session →
Stripe · PayPal · instant confirmation
Cancel up to 12 h before, free of charge
First session 47,99 € with code ERSTIS26
FAQ

C tutoring: frequently asked questions

I do not understand pointers. Can one session fix that?
Often the first session already shifts the mental model. We draw addresses on the whiteboard until p, *p and &x are no longer guesses. A second session locks it in with exercises.
Do you only teach embedded C, or also pure C for university?
Both. The exam-style C from Programming I and the hardware-near C from an embedded apprenticeship are different worlds, and we walk you through whichever one you actually need.
Can you help with a microcontroller project (e.g. STM32, AVR, ESP32)?
Yes. Bring your toolchain and your datasheet. We do not vendor-train, but we work with you on registers, ISRs, bit masks and the typical embedded debugging loop.
Do you cover C++ as well?
We focus on C here. C++ is a different beast and is currently out of scope. If your assignment is mostly C with one or two C++ touches, we can usually still help, just ask in the first chat.
What about exam tracing tasks in C?
A core part of what we do. We work past papers with you, hand-trace pointer arithmetic, array indexing and recursion, and explain the typical exam traps until they stop fooling you.
Do I need a local C setup?
Not for the first session. We can start in the browser. For longer arcs we help you get gcc, make and a debugger running locally so you can practise between sessions.
C / EMBEDDED · 1:1 · FREE FIRST CHAT

Understand pointers, stop guessing.

15 minutes to talk, then you decide. One session is often enough to flip the mental model. A second one makes it robust.