I've been wanting to learn C for a while, and since I currently don't have any major projects I want to jump right into I've decided to learn it from the ground up. I do think it's a pretty good language to have in my arsenal, even if I don't use it professionally.
That being said, I'm not striving to write code for future use in these solutions. I haven't painstakenly refactored code or tweaked outputs, so don't expect perfection should you poke through the project. I have however kept it readable and sensible, because even if it's a small project one needs to maintain pride in their work.
All code compiles using GCC on Mac OSX (High Sierra).
This took longer than it should have, mainly because I got bored. Still, I managed to slowly push through (with the caveat of just completing chapters 1 through 6 since they're the ones that cover the key language features).
I definitely feel like I have a decent theoretical grasp of the C language now, albeit at a basic level. While I don't intend to write any more C anytime soon, I've definitely stretched my ability to program, and have gotten a MUCH better knowledge of certain concepts. For example, while I understood pointers conceptually before, I know how to USE pointers properly now. I've also cracked the window into the underlying OS a tiny bit open (the pointers helped with that), and better understand how memory works. I've definitely gained a lot (more) respect for more low level, bare to the metal engineers.
So long, and here's to no more segmentation faults!