CBeginner
C — Fundamentals
Learn C from scratch: the fast, close-to-the-metal language behind operating systems, databases and embedded devices. You'll truly understand memory, pointers and performance. Real executable code, compiled and run on the server.
16 chapters48 lessons80 challenges
Course curriculum
Chapter 1: Your first C program
- ▸The C language
- ▸Printing with printf
- ▸First-program mistakes
Chapter 2: Variables and types
- ▸The basic types
- ▸Printing variables
- ▸Type and variable pitfalls
Chapter 3: Operators
- ▸Arithmetic operators
- ▸Comparisons and logic
- ▸Operator pitfalls
Chapter 4: Control flow
- ▸if, else, else if
- ▸switch
- ▸if and switch pitfalls
Chapter 5: Loops
- ▸for and while
- ▸break and continue
- ▸Loop pitfalls
Chapter 6: Functions
- ▸Defining a function
- ▸void and recursion
- ▸Function pitfalls
Chapter 7: Arrays
- ▸Declaring and using arrays
- ▸Arrays and loops
- ▸Array pitfalls
Chapter 8: Strings
- ▸Strings in C
- ▸string.h
- ▸String pitfalls
Chapter 9: Pointers — the basics
- ▸What is a pointer
- ▸Modifying through a pointer
- ▸Pointer pitfalls
Chapter 10: Pointers and arrays
- ▸Arrays and pointers
- ▸p[i] is *(p+i)
- ▸Pointer-and-array pitfalls
Chapter 11: Dynamic memory
- ▸malloc and free
- ▸calloc, realloc and NULL
- ▸Dynamic-memory pitfalls
Chapter 12: Structs and typedef
- ▸Structs
- ▸typedef
- ▸Struct pitfalls
Chapter 13: Pointers to structs
- ▸The -> operator
- ▸Arrays of structs and functions
- ▸Struct-pointer pitfalls
Chapter 14: Linked lists
- ▸Building a list
- ▸Walking a list
- ▸Linked-list pitfalls
Chapter 15: Bitwise operators and the preprocessor
- ▸Bitwise operators
- ▸The preprocessor
- ▸Bit and preprocessor pitfalls
Chapter 16: Advanced topics and interview
- ▸Function pointers
- ▸const, qsort and recap
- ▸Interview pitfalls (and undefined behavior)
Ready to level up?
Create a free account and start now: earn XP on every challenge and climb the leaderboard.