http://www.amazon.com/dp/0131774298/?tag=akhn-20
Talks about all the weird historical C design decisions.
# 21st century C programming
http://www.amazon.com/dp/0131774298/?tag=akhn-20
Discusses the language and some of the best practices.
Some random guy suggested this to me to take my C to the next level: Expert C Programming: Deep C Secrets
https://www.amazon.com/Expert-Programming-Peter-van-Linden/d...
http://norvig.com/21-days.html
Learning C is difficult because you need to know how the machine actually works. Trust me, there are no shortcuts. The year can be 2036, learning C will be the same.
With that said, these books are excellent:
http://www.amazon.com/Programming-Language-Brian-W-Kernighan...
http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
http://www.amazon.com/Primer-Plus-6th-Developers-Library/dp/...
http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
Advanced C: Tips and Techniques (http://www.amazon.com/Advanced-Techniques-Hayden-Books-Libra...)
Amazon link: http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
The presentation's "Deep C" pun is a reference to this book, and if you make it all the way to slide 444 you'll see it mentioned as further reading. It's a wonderful book for understanding C (not C++) and what's really going on.
http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
Then again, as far as actual grammars go, I've heard C++ is bad enough that the compilers are the standard, and that if you want to be "compliant" with real world C++ code you copy every feature [1] of GCC.
[0]: http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
[1]: ftp://ftp.trailing-edge.com/pub/rsx11freewarev2/rsx81b/374001/jargon.txt
C A Reference Manual http://www.amazon.com/Reference-Manual-Samuel-P-Harbison/dp/...
Expert C http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
C Interfaces and Implementations http://www.amazon.com/Interfaces-Implementations-Techniques-...
C Traps and Pitfalls http://www.amazon.com/C-Traps-Pitfalls-Andrew-Koenig/dp/0201...
In fact it's filled with great sections - go read it if you haven't.
For example, I bet most people who claim to "know" C can neither explain the difference between arrays and pointers, nor clarify where they cannot be used interchangeably. I was lucky to have read that book early on in my days of C, so I actually know the answer.
this is also worth reading once you've got the basics down - http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...
https://www.amazon.com/Expert-Programming-Peter-van-Linden/d...
Every C programmer should have this on their bookshelf!