English | Türkçe
A structured personal learning repository for building practical C and systems-programming foundations through runnable examples, focused references, and small projects.
Start Learning | Browse Topics | View Projects | Resume Study | Türkçe
- Parallel English and Turkish learning tracks under
en/andtr/. - A verified 75-step path from build basics to pointers, ownership, data structures, file I/O, bitwise work, and projects.
- Small C11 programs that can be compiled independently.
- Deeper references for memory, structs, unions, parsing, callbacks, and modular C APIs.
- Three stages of a library-management exercise: single-file CLI, file persistence, and a tested modular version.
- Choose the English learning path or Turkish learning path.
- Open each linked source directly, predict its behavior, then compile and modify it.
- Use the completion criterion in the learning path before moving forward.
- Mark your progress in STUDY_TRACKER.md.
For quick lookup, use the topic index, English reference index, or Turkish reference index.
| Level | Focus |
|---|---|
| 00 | Tooling, build, run, and debugging |
| 01 | C fundamentals, input/output, and operators |
| 02 | Control flow and loops |
| 03 | Arrays, strings, functions, and headers |
| 04 | Pointers and function interfaces |
| 05 | Structs, unions, layout, and tagged data |
| 06 | Dynamic memory, lifetime, and ownership |
| 07 | Dynamic arrays and linked data structures |
| 08 | Callbacks, errors, parsing, and modular APIs |
| 09 | Files, preprocessor, and bitwise operations |
| 10 | Algorithms, applied exercises, and projects |
| 11 | LeetCode practice bridge |
The logical levels organize the study sequence while the language folders keep localized examples and explanations easy to find.
- Pointer arithmetic,
constcontracts, and dangling-pointer warnings - Struct padding, tagged unions, and protocol-style messages
malloc,calloc,realloc, ownership transfer, and cleanup- Dynamic arrays, singly/doubly linked lists, and intrusive lists
- Callback tables, status-code APIs, safe token parsing, and opaque handles
- Text and binary records, macros, flags, masks, and bit packing
| Project | English | Turkish | Focus |
|---|---|---|---|
| Library CLI | Source | Kaynak | Menu flow, struct arrays, input validation |
| File persistence | Source | Kaynak | Durable records and file handling |
| Modular library | Project | Proje | include/, src/, tests, and a local Makefile |
The root Makefile discovers C sources directly from the filesystem, compiles standalone examples with C11 and strict warnings, then builds and tests both modular project variants. Discovery works in a Git clone, a downloaded ZIP, and before a new example is tracked by Git.
make clean
make all
make test
python3 scripts/validate_repository.pySee the build guide for compiler and Windows notes. On Windows, py -3 can be used instead of python3. CI runs the same build, test, and repository-structure validation.
.
|-- en/ English lessons, examples, and projects
|-- tr/ Turkish lessons, examples, and projects
|-- docs/ Build, style, structure, and topic guides
|-- scripts/ Lightweight repository validation
|-- STUDY_TRACKER.md Personal progress checklist
|-- Makefile Full build and modular test entry point
`-- README_TR.md Turkish repository home
The code trees remain parallel because most paired files contain localized identifiers, output, or teaching context; they are not interchangeable copies. The rationale and maintenance rules are documented in repository structure.
After the relevant C foundation, move to Merd0/leetcode-c-solutions for focused algorithm practice. The LeetCode bridge maps C topics to selected problems.
This is an ongoing learning archive. Examples and documentation are expected to grow while existing build and validation checks remain green.