Free module
C and systems programming
Learn C and systems programming hands on: memory, pointers, strings, the stack and heap, fork and exec, and finding a crash with gdb.
The lessons
Each lesson is free to read in full. Create a free account to run its commands in a live lab and to sit its quizzes and tasks.
1 · Virtual machine lab
How C stores variables in memory
I can say how big a variable is and where it sits in memory.
Read the lesson2 · Virtual machine lab
How pointers work in C
I can read and write C code that uses pointers.
Read the lesson3 · Virtual machine lab
C arrays and strings in memory
I can explain arrays as memory and strings as bytes that end in zero.
Read the lesson4 · Virtual machine lab
Stack and heap memory in C
I can say where a variable lives and what malloc and free do.
Read the lesson5 · Virtual machine lab
How fork, exec and wait work
I can explain how a process starts another with fork, exec and wait.
Read the lesson6 · Virtual machine lab
Finding a crash with gdb
I can find the line where a program crashes with a debugger.
Read the lesson
Worked in a real lab
Every lesson of this module is worked in a lab started for you alone. The labs it uses:
Teaching a class? Set this module for your students with a teacher guide, marked assignments and a lab for every student.