I'm a first-year computer science student currently learning C. I've managed to grasp the basic syntax, but I've been struggling with more advanced topics like functions and memory allocation. Even though I do well on exams, I feel unprepared for projects involving files and dynamic memory. With a 25-day winter break coming up, I'm planning to dedicate about two hours each day to coding. I'm looking for effective resources since I haven't had much luck with YouTube courses. My next semester will cover intermediate programming, which will dive deeper into topics like dynamic memory allocation, so I'd like to get a head start. Any recommendations?
3 Answers
I totally relate to where you're coming from! When I was learning C, I found that focusing on small, specific programs really helped me. Instead of trying to cover everything at once, pick one topic—like arrays or pointers—read a little about it, and then write a few short programs that only use that concept. For instance, you could write a program that reads a file line by line or allocates an array using malloc and fills it. It helps make those tricky concepts feel less overwhelming. As for resources, check out 'C Programming: A Modern Approach' or the free tutorials on learn-c.org. The key is to spend your time actually coding, not just watching videos!
Have you tried learnC.org? It has some great resources for beginners. If you want to focus on pointers, there's a good video on FreeCodeCamp's YouTube. It's super helpful!
Definitely check out Kernighan and Ritchie’s book—it’s a classic for a reason! Just be prepared; it can be a bit intense if you’re still getting the hang of functions. If it feels too much, maybe start with 'C Programming: A Modern Approach' first. It might give you a better grounding before tackling K&R. And remember, it's not just about reading—practice by coding as you go!
Totally agree! The more you practice, the clearer the concepts will become.

Exactly! Just reading won’t help you learn. You've got to write a lot of code to really get it.