I am a computer engineering student. I want to learn C for the follwoing reasons
- program mirco controllers
- make drivers
- make an OS
- general software
- linux programming
I want a book (I don't like reading e-books) to read to learn C. I already have this book
http://www.amazon.com/Programming-AN...dp/0672303396/, which does have good review. I have not read much of it yet. A lot of people like and recomend this book
http://www.amazon.com/Programming-La...dp/0131103628/.
There are many different C versions to date. I know K&R is the frist standard and is the core of modern C versions. Next comes all the ANSI/ISO versions. The two books I listed cover the first ANSI C version. My question is what version of C do I learn with respect to what I want to do?
Same as versions, there are multipule C/C++
compilers. I assume gcc is the "best" one out there, as I am leaning more towards the linux side of programming. For mircocontrollers I have seen FOSS compilers for families of controllers.
I know some of the things I want to do can be done using C++. I would prefer to learn C first before moving into the OOP of C.