This reply to the question "I don't know C. And why should I learn it?" has me interested in learning C. What is a good self-instruction program (textbook/website/OpenCourseWare, etc.) for someone who already has lots of experience in high-level languages?
closed as not constructive by Thomas Owens♦ Apr 14 at 11:27
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
|
This is a clichéd answer, but my intro to C programming was Kernighan and Richie's The C Programming Language. |
|||||||||||||||
|
|
If your goal truly is to understand what goes on under the hood, then perhaps, instead of learning C and writing a toy program in it, you instead look at a C compiler and understand how that works. As far as compilers go, a C compiler is one of the simplest, as the language doesn't have all that many high-level features. As for which compiler, I would take a simple compiler with an easy to understand machine architecture, so you're not mucking about too much with x86 instructions. I'd suggest the C-- compiler (written in Java) which outputs MIPS assembly. |
|||
|
|
|
Leendert Ammeraal's "C For Programmers", while VERY dated now (15 years old or more) is by far the best thing I have ever seen along these lines. |
|||
|
|