A collection of C23 and modern C practice programs, data structures, and small experiments.
This repository is my hands-on study notebook for catching up with modern C after spending many years away from the language standard. The goal is to learn by writing code, testing ideas, and revisiting core concepts through small focused examples.
- Practice modern C and C23 features
- Strengthen fundamentals through small, self-contained programs
- Build and refine core data structures and algorithms
- Explore low-level and systems-oriented C programming techniques
- Keep examples simple enough to study, modify, and reuse
The repository includes both topic-based folders and standalone source files.
src/binary_search- binary search (spellcheck)src/deque- deque implementation experimentssrc/getline- input and line-reading utilitiessrc/graph- Graph relatedsrc/hashtable- hash table worksrc/heap- heap and heap-based sorting experimentssrc/llist- linked list implementationssrc/mergesort- merge sort examplesrc/network- socket and networking examplessrc/quicksort- quick sort implementationsrc/set- set data structure worksrc/stack- stack implementations
The src directory also contains smaller focused examples covering topics such as:
- sorting
- hashing
- linked lists
restrict- thread-local storage
- inline assembly
- function attributes and related language features
- object-style struct patterns
- tracing and logging experiments
- graph/visualization of shortest path
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
makemkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
makeThis repository is primarily for learning, experimentation, and practice. Some examples are intentionally small and focused on a single concept rather than being production-style libraries.
Over time, this repository serves as a reference of what I have been studying and implementing in modern C.
GPL-3.0