{"id":23683741,"url":"https://github.com/asem-hamid/learn-c","last_synced_at":"2025-08-13T19:06:50.272Z","repository":{"id":252041010,"uuid":"802787383","full_name":"asem-hamid/learn-c","owner":"asem-hamid","description":"This repository is designed to help beginners learn C programming through code examples, projects, and detailed explanations.","archived":false,"fork":false,"pushed_at":"2025-04-27T14:01:02.000Z","size":310,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T21:40:26.397Z","etag":null,"topics":["beginner-friendly","c"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asem-hamid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-19T09:10:11.000Z","updated_at":"2025-04-27T14:01:05.000Z","dependencies_parsed_at":"2025-04-19T20:23:31.516Z","dependency_job_id":"004930d9-4596-4740-9c07-602e4e9eaf40","html_url":"https://github.com/asem-hamid/learn-c","commit_stats":null,"previous_names":["asem-hamid/learn-c"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asem-hamid/learn-c","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asem-hamid%2Flearn-c","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asem-hamid%2Flearn-c/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asem-hamid%2Flearn-c/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asem-hamid%2Flearn-c/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asem-hamid","download_url":"https://codeload.github.com/asem-hamid/learn-c/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asem-hamid%2Flearn-c/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270295822,"owners_count":24560350,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beginner-friendly","c"],"created_at":"2024-12-29T20:09:39.593Z","updated_at":"2025-08-13T19:06:50.227Z","avatar_url":"https://github.com/asem-hamid.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Learn C\n\n![learncbanner](https://github.com/user-attachments/assets/c8fa9c42-e67c-4918-85bc-0182e3fa88cd)\n\n\n\nWelcome to the Learn C repository! This repository is designed to help beginners learn \nC programming through code examples, projects, and detailed explanations. \nAdditionally, contributions from the community are highly encouraged to enhance and expand the content.\n\n\n## Table of Contents\n\n  - [Introduction](https://github.com/asem-hamid/learn-c/blob/15b3140dceaafcb3e0ff7266da757b6db84419fd/README.md?plain=1#L19)\n  - [Features](https://github.com/asem-hamid/learn-c/blob/15b3140dceaafcb3e0ff7266da757b6db84419fd/README.md?plain=1#L31)\n  - [Getting Started](https://github.com/asem-hamid/learn-c/blob/15b3140dceaafcb3e0ff7266da757b6db84419fd/README.md?plain=1#L39)\n  - [Usage](https://github.com/asem-hamid/learn-c/blob/15b3140dceaafcb3e0ff7266da757b6db84419fd/README.md?plain=1#L64)\n  - [Chapter List](https://github.com/asem-hamid/learn-c/blob/15b3140dceaafcb3e0ff7266da757b6db84419fd/README.md?plain=1#L71)\n  - [Contributing](https://github.com/asem-hamid/learn-c/blob/15b3140dceaafcb3e0ff7266da757b6db84419fd/README.md?plain=1#L100)\n\n\n## Introduction \n\nThis repository contains a collection of C programming tutorials, examples, and projects. \nIt is designed to be a comprehensive resource for anyone looking to \nlearn C from scratch or to deepen their understanding of the language. \n\nHi, I'm [Asem Hamid](https://www.linkedin.com/in/asemhamid/), the creator of this repository. \nMy goal is to share my learning journey in C programming with the community in a way \nthat is easy to understand and beneficial to learners of all levels. \nI hope you find this repository helpful, and I look forward to seeing your contributions to improve it.\n\n\n## Features\n\n - **Beginner-Friendly:** Simple and easy-to-follow code examples.\n - **Comprehensive Coverage:** Topics ranging from basic syntax to advanced concepts.\n - **Interactive Projects:** Hands-on projects like a Snake-Ladder Game to reinforce learning.\n - **Community Contributions:** Open for contributions to continuously improve and expand the content.\n\n\n## Getting Started\n\nTo get started with the code and content in this repository, follow these steps:\n\n1. **Install and set up prerequisites :** [vs-code](https://github.com/asem-hamid/learn-c/blob/main/content/00-prerequisites/vs-code.md) , [c compiler](https://github.com/asem-hamid/learn-c/blob/main/content/00-prerequisites/compiler.md) , [git](https://github.com/asem-hamid/learn-c/blob/main/content/00-prerequisites/git.md)\n\n2. **Clone the Repository:**\n\n```sh\ngit clone https://github.com/asem-hamid/learn-c.git\n\ncd learn-c\n\ncd content\n```\n\n3. **Explore the Code:** Browse through the folders and files to find tutorials, examples, and projects.\n\n4. **Run the Code:** Compile and run the examples using a C compiler \n\n```sh\ngcc filename.c -o filename\n\n./filename\n```\n\n\n## Usage\n\n- **Compile and Run Examples:** Navigate to the desired folder and compile the code using a C compiler.\n- **Modify and Experiment:** Feel free to modify the code to see how changes affect the output.\n- **Learn and Understand:** Read the comments and documentation within the code to understand each concept.\n\n\n## Chapter List\n\n### Basics\n\n- [01-basic](https://github.com/asem-hamid/learn-c/tree/main/content/01-basic:) Introduction to basic concepts, syntax, and structure of C programs. \n- [02-operators:](https://github.com/asem-hamid/learn-c/tree/main/content/02-operators) Detailed explanations and examples of different operators in C.\n- [03-conditional:](https://github.com/asem-hamid/learn-c/tree/main/content/03-conditional) Control flow statements like if-else and switch-case.\n- [04-loop:](https://github.com/asem-hamid/learn-c/tree/main/content/04-loop) Looping constructs including for, while, and do-while loops.\n- [05-function:](https://github.com/asem-hamid/learn-c/tree/main/content/05-function) Functions, their declarations, definitions, and usage.\n\n### Intermediate\n\n- [06-recursion:](https://github.com/asem-hamid/learn-c/tree/main/content/06-recursion) Recursive functions and their applications.\n- [07-array:](https://github.com/asem-hamid/learn-c/tree/main/content/07-array) Arrays, both single-dimensional and multi-dimensional.\n- [08-pointer:](https://github.com/asem-hamid/learn-c/tree/main/content/08-pointer) Pointers, pointer arithmetic, and pointers to arrays and functions.\n- [09-string:](https://github.com/asem-hamid/learn-c/tree/main/content/09-string) String operations and functions.\n- [10-structures:](https://github.com/asem-hamid/learn-c/tree/main/content/10-structures) User-defined data types using structures.\n\n### Advanced\n\n- [11-unions:](https://github.com/asem-hamid/learn-c/tree/main/content/11-unions) Unions and their usage.\n- [12-DMA:](https://github.com/asem-hamid/learn-c/tree/main/content/12-DMA) Dynamic Memory Allocation using malloc, calloc, realloc, and free.\n- [13-file-handling:](https://github.com/asem-hamid/learn-c/tree/main/content/13-file-handling) File input and output operations.\n\n- [extra:](https://github.com/asem-hamid/learn-c/tree/main/content/extra) Additional topics and advanced concepts.\n\n### Projects :\n\n- [Snake and Ladder Game](https://github.com/asem-hamid/learn-c/blob/main/projects/snake-and-ladder.md)\n\n\n## Contributing\n\nFor detailed guidelines, check the [CONTRIBUTING.md](https://github.com/asem-hamid/learn-c/blob/main/CONTRIBUTING.md) .\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](https://github.com/asem-hamid/learn-c/blob/main/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasem-hamid%2Flearn-c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasem-hamid%2Flearn-c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasem-hamid%2Flearn-c/lists"}