C Resources

Having a good grasp of C, its syntax and its paradigms are essential to working effectively on embedded software for MS. Given the plethora of online tutorials teaching C it isn't hard to find resources to get started with the language if you aren't yet familiar with it. However, we've put together a list of some resources we've found useful to get you started:

Free Web Resources:

  • The C Book: available for free online
    This is a good resource to help you start learning C. It is a little out of date with some of the modern features as it was publish in 1991 prior to the C99 or C11 standards but nonetheless it is a good place to start. Also it teaches by complete example which is a big plus.
  • The GNU C Tutorial:available for free here
    Given that the GNU foundation is responsible for GCC the most commonly used C compiler it makes sense that they have an excellent language tutorial. However unlike The C Book, examples are provided as snippets not complete examples which may make learning a bit more disjointed. If you are confused about a specific concept or feature it is a great place to look.
  • C Reference Card: 
    Not a tutorial per-se but it is a good tool to have available, especially when you are just getting started.

Common Books

The (ANSI) C Programming Language by K&R - A lot of C programmer swear by this book. I've never read it, but it is so often recommended that I felt it was worth mentioning. I don't believe legitimate digital versions are available for free unfortunately.