Skip to content

Solution exercises from Kernighan and Ritchie's 'The C Programming Language'.

Notifications You must be signed in to change notification settings

codebymatt/learning-c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning C

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).

Epilogue

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!

About

Solution exercises from Kernighan and Ritchie's 'The C Programming Language'.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages