An open API service indexing awesome lists of open source software.

https://github.com/udaysh134/c-tinker

A collection of small games and projects built while exploring the fundamentals and advanced concepts of C programming.
https://github.com/udaysh134/c-tinker

beginner-project c-language c-projects learning

Last synced: 8 days ago
JSON representation

A collection of small games and projects built while exploring the fundamentals and advanced concepts of C programming.

Awesome Lists containing this project

README

          

# C-Tinker

**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:

1. A **collection of beginner-friendly programs**, mini-projects, and games - all documented and organized for quick understanding.
2. A **sandbox for explorational learning**, where you can play with ideas, build, break, and rebuild, because that’s how real learning happens.

## βš™οΈ Quick Setup
Clone the repo :
```bash
git clone https://github.com/udaysh134/c-tinker.git
```

Compile any file :
```bash
gcc 01_circle.c -o circle
./circle
```

πŸ’‘ *You can run any program individually - each file is standalone and self-contained.*

## πŸ“˜ Topics Covered
Each section progressively builds on the previous one - from fundamentals to intermediate and then advanced logic.

1. **Basics** : C fundamentals, input/output, arithmetic, and first conditional statements.
2. **Conditionals** : Programs involving decision-making logic using if-else and relational operators.
3. **Loops** : Iteration-based logic using for, while, and nested loops for calculations and pattern printing.
4. **Arrays** : Working with single and multi-dimensional arrays, matrix operations, and basic pointer-array relations.
5. **Strings** : String manipulation, manual string functions, palindrome checks, and pointer-based string operations.
6. **Functions** : User-defined functions, parameter passing, recursion, and modular programming techniques.
7. **Pointers** : Understanding memory references, pointer arithmetic, and indirect data manipulation.
8. **Structures** : Struct-based programs combining multiple data types for grouped, organized data handling.

## 🀝 Contributing

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.

## πŸ’¬ Why I Made This
> 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.

## 🧾 License
This project is open-sourced under the **MIT License** - feel free to explore, learn, and build on it.

## πŸ™Œ Credits

Built and maintained by **[Uday Shukla](https://github.com/udaysh134)**
and contributors who believe in *learning by tinkering.*