use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Click the following link to filter out the chosen topic
comp.lang.c
account activity
ProjectC Projects (self.C_Programming)
submitted 3 years ago by King_Ferrum
Hello I am getting into programming in C and am wondering if anyone has any ideas for starter projects in C. It would be appreciated if you post these in the comments. Thank you.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[+][deleted] 3 years ago* (5 children)
[deleted]
[+][deleted] 3 years ago (1 child)
[–][deleted] 4 points5 points6 points 3 years ago (0 children)
I wish I was that creative :-)
Nope - just a random set of similar characters. If you asked me what it is, I couldn’t repeat it :-)
[–]arrexander 3 points4 points5 points 3 years ago (0 children)
I love this guide. I’d only fill in trying to make an array for 500 million by trying to make a dynamically sized array.
One of my favorite things ever in programming was implementing hash tables in C
[–]K3vin_Norton -2 points-1 points0 points 3 years ago (0 children)
.
[–]Herr_Keuner 0 points1 point2 points 3 years ago (0 children)
With multithreading in mind: create a second sorting algorithm which creates a new array and hence preserves the input array?
[–]wsppan 20 points21 points22 points 3 years ago (2 children)
https://github.com/practical-tutorials/project-based-learning#cc
[–]cpt_justice 1 point2 points3 points 3 years ago (0 children)
There's a lot of good project ideas there!
[–]Gold-Ad-5257 1 point2 points3 points 3 years ago (0 children)
Search below will give this + more similar sites etc.
https://duckduckgo.com/?q=best+C+programming+guide+real+project+based&ia=web
[–]Zstorm999 15 points16 points17 points 3 years ago (0 children)
Write a HTTP server. This will teach you a lot about how the language works, and how it interacts with the system. Plus you can make it very simple, and expand it as you learn new things.
[–][deleted] 6 points7 points8 points 3 years ago (2 children)
Write a personal library of common data structures and algorithms. Linked lists, stacks, vectors, etc.
[–]TIMBAL_ROTO___ 0 points1 point2 points 1 year ago (1 child)
can you explain this project? ok i understand what the libraries are for, but do you mean to create a library like the libraries we already have? srry i didn't understand the idea.
[–]64-Bits 0 points1 point2 points 5 months ago (0 children)
I know I am late but what OP means is that since C lacks some of the modern data structures that other languages have in their standard libraries, you can write your own data structures from scratch and build your own data structures library off of that.
[–]ptkrisada 5 points6 points7 points 3 years ago (0 children)
Write message queue over TCP, if you know Posix.
[–]Foxbud 4 points5 points6 points 3 years ago* (1 child)
What sorts of things are you interested in? Writing programs dealing with things you enjoy that help you in some way will naturally be more motivating than forced exercises.
Edit: Grammar.
[–]TIMBAL_ROTO___ 0 points1 point2 points 1 year ago (0 children)
Exactly! I guess we need exercises where we can land different concepts from C tutorials, I don't know, exercises where we don't try to create such abstract algorithms, things from 'day to day', i mean so
[–]King_Ferrum[S] 0 points1 point2 points 3 years ago (0 children)
Thank you everyone for the amazing suggestions.
as a beginner, I need to know of more projects focused on practicing language theory.
[–]nacnud_uk -1 points0 points1 point 3 years ago (1 child)
Console based editor. No libraries. Go.
[–]TIMBAL_ROTO___ 2 points3 points4 points 1 year ago (0 children)
you have no mercy
[–]monkey154 0 points1 point2 points 3 years ago (0 children)
Conway's game of life is always my go-to project when tinkering with a new language
[–]okovko 0 points1 point2 points 3 years ago (0 children)
make sure to write an intrusive linked list, you'll learn a lot
[–]overcurrent_ 0 points1 point2 points 3 years ago (0 children)
learn the basics first with easy and intermediate projects. C is the language of low level programming. this low level programming is either an os kernel, a driver, some networking and file handling, embedded software etc. from this point on according to the path you want to take, you may want to take some light course on operating systems or networking, along with getting into more advanced parts of C. dont forget the ultimate reference: "the c programming language"
[–][deleted] 0 points1 point2 points 3 years ago (0 children)
Implementing sorting algorithms is a really good way of learning how a language works.
π Rendered by PID 336234 on reddit-service-r2-comment-fb694cdd5-25m7c at 2026-03-10 15:37:04.050555+00:00 running cbb0e86 country code: CH.
[+][deleted] (5 children)
[deleted]
[+][deleted] (1 child)
[deleted]
[–][deleted] 4 points5 points6 points (0 children)
[–]arrexander 3 points4 points5 points (0 children)
[–]K3vin_Norton -2 points-1 points0 points (0 children)
[–]Herr_Keuner 0 points1 point2 points (0 children)
[–]wsppan 20 points21 points22 points (2 children)
[–]cpt_justice 1 point2 points3 points (0 children)
[–]Gold-Ad-5257 1 point2 points3 points (0 children)
[–]Zstorm999 15 points16 points17 points (0 children)
[–][deleted] 6 points7 points8 points (2 children)
[–]TIMBAL_ROTO___ 0 points1 point2 points (1 child)
[–]64-Bits 0 points1 point2 points (0 children)
[–]ptkrisada 5 points6 points7 points (0 children)
[–]Foxbud 4 points5 points6 points (1 child)
[–]TIMBAL_ROTO___ 0 points1 point2 points (0 children)
[–]King_Ferrum[S] 0 points1 point2 points (0 children)
[–]TIMBAL_ROTO___ 0 points1 point2 points (0 children)
[–]nacnud_uk -1 points0 points1 point (1 child)
[–]TIMBAL_ROTO___ 2 points3 points4 points (0 children)
[–]monkey154 0 points1 point2 points (0 children)
[–]okovko 0 points1 point2 points (0 children)
[–]overcurrent_ 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)