C-Tinker is an open playground for C programmers - from curious beginners to hands-on explorers. It’s a space built to learn by tinkering, experiment freely, and write small yet meaningful programs - from single-file basics to multi-file explorations.
This repository serves as both:
- A collection of beginner-friendly programs, mini-projects, and games - all documented and organized for quick understanding.
- A sandbox for explorational learning, where you can play with ideas, build, break, and rebuild, because that’s how real learning happens.
Clone the repo :
git clone https://github.com/udaysh134/c-tinker.gitCompile any file :
gcc 01_circle.c -o circle
./circle💡 You can run any program individually - each file is standalone and self-contained.
Each section progressively builds on the previous one - from fundamentals to intermediate and then advanced logic.
- Basics : C fundamentals, input/output, arithmetic, and first conditional statements.
- Conditionals : Programs involving decision-making logic using if-else and relational operators.
- Loops : Iteration-based logic using for, while, and nested loops for calculations and pattern printing.
- Arrays : Working with single and multi-dimensional arrays, matrix operations, and basic pointer-array relations.
- Strings : String manipulation, manual string functions, palindrome checks, and pointer-based string operations.
- Functions : User-defined functions, parameter passing, recursion, and modular programming techniques.
- Pointers : Understanding memory references, pointer arithmetic, and indirect data manipulation.
- Structures : Struct-based programs combining multiple data types for grouped, organized data handling.
C-Tinker is open for contributors who share the same curiosity. You can :
- Add new programs or optimizations (basic, intermediate, or advanced).
- Improve documentation or readability.
- Create your own mini-projects or games inside
src/tinkerspace/.
Contribution steps:
- Fork this repo.
- Add your code under the relevant folder.
- Follow the commenting & header format (
snippets/header.txt). - Submit a pull request.
Each addition should keep the educational tone : short, clean, and easy to follow.
C-Tinker started as my small testbed - a personal space to try ideas, fail fast, and understand C beyond theory. When someone starred my repo, I realized it could help others too - beginners looking for small, clear examples to learn from. So now, C-Tinker is both my exploration zone and a learning space for others - evolving over time, one small program at a time.
This project is open-sourced under the MIT License - feel free to explore, learn, and build on it.
Built and maintained by Uday Shukla and contributors who believe in learning by tinkering.