Welcome! This repository is designed to help me practice and reinforce my understanding of the C programming language by working through the core topics covered in The C Beginner's Handbook, written by Flavio Copes.
The book follows the 80/20 rule: learn 80% of the language in 20% of the time. It focuses on practical, essential concepts without overwhelming with edge cases or overly advanced topics.
Each topic below is (or will be) implemented as a folder in this repository. Some folders might group related topics for simplicity.
- Introduction to C
- ✔️Variables and Types, Constants
- ✔️Operators
- ✔️Conditionals
- Loops
- Arrays
- Strings
- Pointers
- Functions
- Input and Output
- Variable Scope
- Static Variables
- Global Variables
- Type Definitions
- Enumerated Types
- Structures
- Command Line Parameters
- Header Files
- The Preprocessor
- Conclusion --
- Practice and solidify C programming concepts by writing small, focused programs.
- Organize code examples into logically separated folders.
- Prepare myself to understand more robust C code and start making homebrew for retro hardware or embeded systems.
Each folder:
- Contains a focused
.cfile (or multiple) practicing the topic. - Is self-contained and can be compiled with
gccor any standard C compiler.
Example:
cd 05-loops
gcc loops.c -o loops
./loops- The Makefile placed in the root folde rof the project contains wildcard to recursively compile one of each .c files in the project, just do:
make