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

https://github.com/abderrahmanerabeh/fondumentals-of-c

Journey of lerning c
https://github.com/abderrahmanerabeh/fondumentals-of-c

c c-language clean-code conditional-statements filesystem loops

Last synced: 8 days ago
JSON representation

Journey of lerning c

Awesome Lists containing this project

README

        

# My Journey of Learning C Language 🚀

Welcome to my repository where I document my learning journey as I dive into the fundamentals and advanced concepts of the C programming language. This repository will be continuously updated with notes, exercises, projects, and reflections on my progress. Follow along as I grow and master C! 😊

## Why I'm Learning C

C is one of the most foundational and widely-used programming languages. It provides me with a deep understanding of how programming languages work at the low level, enhances my problem-solving skills, and opens the door to learning other languages like C++, Rust, and systems programming in general.

## Journey Milestones 📅

### Phase 1: Getting Started
- **Introduction to C**
- Setting up the development environment
- Understanding the structure of a C program
- Writing my first "Hello, World!" program

- **Basic Syntax and Concepts**
- Data types and variables
- Input/output operations
- Control flow (if-else, switch)

### Phase 2: Deep Dive into Core Concepts
- **Functions and Recursion**
- Function declarations, definitions, and scope
- Writing recursive functions
- **Pointers and Memory Management**
- Understanding pointers, memory addresses, and pointer arithmetic
- Dynamic memory allocation with `malloc` and `free`

### Phase 3: Working on Projects and Challenges
- **Building Small Projects**
- A basic calculator
- A number guessing game
- Simple file-handling project
- **Solving Algorithmic Problems**
- Arrays, sorting algorithms, and searching techniques

### Phase 4: Advanced Topics and Further Learning
- **Structs and Unions**
- Using `struct` to create complex data types
- Exploring unions in C
- **File I/O and Command Line Arguments**
- Reading from and writing to files
- Parsing command line arguments in C programs

## What You'll Find in This Repository 📂

1. **Notes**: Markdown files summarizing each topic.
2. **Code**: A collection of programs and exercises organized by topics.
3. **Projects**: Real-world mini-projects to put theory into practice.
4. **Reflections**: Personal thoughts and insights on the learning process, challenges faced, and goals achieved.

## Resources That Helped Me
- [The C Programming Language (K&R Book)](https://en.wikipedia.org/wiki/The_C_Programming_Language)
- [Learn-C.org](https://www.learn-c.org/)
- [GeeksforGeeks C Programming](https://www.geeksforgeeks.org/c-programming-language/)
- [CS50 Introduction to Computer Science](https://cs50.harvard.edu/)

Feel free to contribute or offer feedback as I continue my journey! 😊