{"id":20002883,"url":"https://github.com/codewithmide/alx-low_level_programming","last_synced_at":"2026-06-19T01:32:13.422Z","repository":{"id":41320303,"uuid":"468273269","full_name":"codewithmide/alx-low_level_programming","owner":"codewithmide","description":"C-Programming","archived":false,"fork":false,"pushed_at":"2022-10-06T18:04:02.000Z","size":359,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-29T01:42:26.389Z","etag":null,"topics":["c","programming-language"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codewithmide.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-10T09:22:39.000Z","updated_at":"2023-10-20T03:30:19.000Z","dependencies_parsed_at":"2023-01-19T14:03:00.996Z","dependency_job_id":null,"html_url":"https://github.com/codewithmide/alx-low_level_programming","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codewithmide/alx-low_level_programming","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithmide%2Falx-low_level_programming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithmide%2Falx-low_level_programming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithmide%2Falx-low_level_programming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithmide%2Falx-low_level_programming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codewithmide","download_url":"https://codeload.github.com/codewithmide/alx-low_level_programming/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithmide%2Falx-low_level_programming/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34514282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"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":["c","programming-language"],"created_at":"2024-11-13T05:23:25.074Z","updated_at":"2026-06-19T01:32:13.388Z","avatar_url":"https://github.com/codewithmide.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C-programming\n\n## Resources\n### Read or watch:\n\n- [Everything you need to know to start with C.pdf](https://s3.amazonaws.com/alx-intranet.hbtn.io/uploads/misc/2022/4/e0ccf91eec6b977a9e00ed384dc285df9c2772e3.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIARDDGGGOUSBVO6H7D%2F20220711%2Fus-east-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20220711T150433Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=39969a922944bcb395eb189e352a30553e2335c82975e34891471b9f95658c81)\n- [Dennis Ritchie](https://en.wikipedia.org/wiki/Dennis_Ritchie)\n- [“C” Programming Language: Brian Kernighan](https://www.youtube.com/watch?v=de2Hsvxaf8M)\n- [Why C Programming Is Awesome](https://www.youtube.com/watch?v=smGalmxPVYc)\n- [Learning to program in C part 1](https://www.youtube.com/watch?v=rk2fK2IIiiQ)\n- [Learning to program in C part 2](https://www.youtube.com/watch?v=FwpP_MsZWn)\n- [Understanding C program Compilation Process](https://www.youtube.com/watch?v=VDslRumKvRA)\n- [Betty Coding Style](https://github.com/holbertonschool/Betty/wiki)\n- [Hash-bang under the hood (Look at only after you finish consuming the other resources)](https://twitter.com/unix_byte/status/1024147947393495040?s=21)\n- [Linus Torvalds on C vs. C++ (Look at only after you finish consuming the other resources)](http://harmful.cat-v.org/software/c++/linus)\n- [Keywords and identifiers](https://publications.gbdirect.co.uk//c_book/chapter2/keywords_and_identifiers.html)\n- [integers](https://publications.gbdirect.co.uk//c_book/chapter2/integral_types.html)\n- [Arithmetic Operators in C](https://www.tutorialspoint.com/cprogramming/c_arithmetic_operators.htm)\n- [If statements in C](https://www.cprogramming.com/tutorial/c/lesson2.html)\n- [if…else statement](https://www.tutorialspoint.com/cprogramming/if_else_statement_in_c.htm)\n- [Relational operators](https://www.tutorialspoint.com/cprogramming/c_relational_operators.htm)\n- [Logical operators](https://fresh2refresh.com/c-programming/c-operators-expressions/c-logical-operators/)\n- [while loop in C](https://www.tutorialspoint.com/cprogramming/c_while_loop.htm)\n- [While loop](https://www.youtube.com/watch?v=Ju1LYO9pkaI)\n- [Nested while loops](https://www.youtube.com/watch?v=Z3iGeQ1gIss)\n- [C - Functions](https://www.tutorialspoint.com/cprogramming/c_functions.htm)\n- [Learning to Program in C (Part 06) (stop at 14:00)](https://www.youtube.com/watch?v=qMlnFwYdqIw)\n- [What is the purpose of a function prototype?](https://www.geeksforgeeks.org/what-is-the-purpose-of-a-function-prototype/)\n- [C - Header Files (stop before the “Once-Only Headers” paragraph)](https://www.tutorialspoint.com/cprogramming/c_header_files.htm)\n- [Debugging](https://en.wikipedia.org/wiki/Debugging)\n- [Rubber Duck Debugging](https://www.thoughtfulcode.com/rubber-duck-debugging-psychology/)\n- [Pointers and arrays](https://alx-intranet.hbtn.io/concepts/60)\n- [Data Structures](https://alx-intranet.hbtn.io/concepts/120)\n- [C - Pointer to Pointer](https://www.tutorialspoint.com/cprogramming/c_pointer_to_pointer.htm)\n- [C – Pointer to Pointer with example](https://beginnersbook.com/2014/01/c-pointer-to-pointer/)\n- [Multi-dimensional Arrays in C](https://www.tutorialspoint.com/cprogramming/c_multi_dimensional_arrays.htm)\n- [Two dimensional (2D) arrays in C programming with example](https://beginnersbook.com/2014/01/2d-arrays-in-c-example/)\n- [What on Earth is Recursion?](https://www.youtube.com/watch?v=Mv9NEXX1VHc)\n- [C - Recursion](https://www.tutorialspoint.com/cprogramming/c_recursion.htm)\n- [C Programming Tutorial 85, Recursion pt.1](https://www.youtube.com/watch?v=XGxbXMP6k8k)\n- [C Programming Tutorial 86, Recursion pt.2](https://www.youtube.com/watch?v=7XiIS6HobNs)\n- [Arguments to main](https://publications.gbdirect.co.uk//c_book/chapter10/arguments_to_main.html)\n- [argc and argv](http://crasseux.com/books/ctutorial/argc-and-argv.html)\n- [What does argc and argv mean?](https://www.youtube.com/watch?v=aP1ijjeZc24)\n- [how to compile with unused variables](https://www.google.com/webhp?q=unused+variable+C)\n- [What Is A “C” Library? What Is It Good For?](https://docencia.ac.upc.edu/FIB/USO/Bibliografia/unix-c-libraries.html)\n- [Creating A Static “C” Library Using “ar” and “ranlib”](https://docencia.ac.upc.edu/FIB/USO/Bibliografia/unix-c-libraries.html)\n- [Using A “C” Library In A Program](https://docencia.ac.upc.edu/FIB/USO/Bibliografia/unix-c-libraries.html)\n- [What is difference between Dynamic and Static library](https://www.youtube.com/watch?v=eW5he5uFBNM)\n- [0x0a - malloc \u0026 free - quick overview.pdf](https://s3.amazonaws.com/alx-intranet.hbtn.io/uploads/misc/2021/1/a094c90e7f466bbeaa49cb24c8f04e7f27aaad41.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIARDDGGGOUSBVO6H7D%2F20220711%2Fus-east-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20220711T170046Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=bd8153644bcf93d0dd5aafef681baa738dacba880c1ae7671f9b940c87538238)\n- [Dynamic memory allocation in C - malloc calloc realloc free](https://www.youtube.com/watch?v=xDVC3wKjS64)\n\n### man or help:\n\n- `gcc`\n- `printf (3)`\n- `puts`\n- `putchar`\n\n# Learning Objectives\n\u003cp\u003eAt the end of this project, you are expected to be able to explain to anyone, without the help of Google:\u003c/p\u003e\n\n## General\n\n- Why C programming is awesome\n- Who invented C\n- Who are Dennis Ritchie, Brian Kernighan and Linus Torvalds\n- What happens when you type `gcc main.c`\n- What is an entry point\n- What is `main`\n- How to print text using `printf`, `puts` and `putchar`\n- How to get the size of a specific type using the nary operator `sizeof`\n- How to compile using `gcc`\n- What is the default program name when compiling with `gcc`\n- What is the official C coding style and how to check your code with `betty-style`\n- How to find the right header to include in your source code when using a standard library function\n- How does the `main` function influence the return value of the program\n\n# Copyright - Plagiarism\n\n- You are tasked to come up with solutions for the tasks below yourself to meet with the above learning objectives.\n- You will not be able to meet the objectives of this or any following project by copying and pasting someone else’s work.\n- You are not allowed to publish any content of this project.\n- Any form of plagiarism is strictly forbidden and will result in removal from the program.\n\n# Requirements\n\n## C\n\n- Allowed editors: `vi`, `vim`, `emacs`\n- All your files will be compiled on Ubuntu 20.04 LTS using `gcc`, using the options `-Wall -Werror -Wextra -pedantic -std=gnu89`\n- All your files should end with a new line\n- A README.md file at the root of the repo, containing a description of the repository\n- A README.md file, at the root of the folder of this project, containing a description of the project\n- There should be no errors and no warnings during compilation\n- You are not allowed to use `system`\n- Your code should use the `Betty` style. It will be checked using `betty-style.pl` and `betty-doc.pl`\n\n## Shell Scripts\n\n- Allowed editors: `vi`, `vim`, `emacs`\n- All your scripts will be tested on Ubuntu 20.04 LTS\n- All your scripts should be exactly two lines long (`$ wc -l file` should print 2)\n- All your files should end with a new line\n- The first line of all your files should be exactly `#!/bin/bash`\n\n# More Info\n\n## Betty linter\n\n\u003cp\u003eTo run the Betty linter just with command `betty \u003cfilename\u003e`:\u003c/p\u003e\n\n- Go to the [Betty](https://github.com/holbertonschool/Betty) repository\n- Clone the [repo](https://github.com/holbertonschool/Betty) to your local machine\n- `cd` into the Betty directory\n- Install the linter with `sudo ./install.sh`\n- `emacs` or `vi` a new file called `betty`, and copy the script below:\n```\n#!/bin/bash\n# Simply a wrapper script to keep you from having to use betty-style\n# and betty-doc separately on every item.\n# Originally by Tim Britton (@wintermanc3r), multiargument added by\n# Larry Madeo (@hillmonkey)\n\nBIN_PATH=\"/usr/local/bin\"\nBETTY_STYLE=\"betty-style\"\nBETTY_DOC=\"betty-doc\"\n\nif [ \"$#\" = \"0\" ]; then\n    echo \"No arguments passed.\"\n    exit 1\nfi\n\nfor argument in \"$@\" ; do\n    echo -e \"\\n========== $argument ==========\"\n    ${BIN_PATH}/${BETTY_STYLE} \"$argument\"\n    ${BIN_PATH}/${BETTY_DOC} \"$argument\"\ndone\n```\n- Once saved, exit file and change permissions to apply to all users with `chmod a+x betty`\n- Move the betty file into `/bin/` directory or somewhere else in your `$PATH` with `sudo mv betty /bin/`\n- You can now type `betty \u003cfilename\u003e` to run the Betty linter!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodewithmide%2Falx-low_level_programming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodewithmide%2Falx-low_level_programming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodewithmide%2Falx-low_level_programming/lists"}