tags:

views:

203

answers:

4

I started to learn how to program when I was 8 years old with BASIC. After like 5 years of GW-BASIC, I started to program in C and inline assembly language with my IBM XT PC. In my high school days, I used to program in C++, but it was rather close to C. And then since I entered university and until now (10 years), I have been using Java as my primary language. Although I remember how to write a basic program in C, I must admit it was too long ago to say I know C well at this moment.

Now, I want to re-learn C for my leisure, to write some free software in C where C serves better. I am mostly interested in:

  • what has changed in C99,
  • writing portable C application that works in wide variety of modern compilers,
  • the techniques required to build a large and complex application (like build tools, shared libraries, modularization, and so on),
  • and other advanced topics about C language itself (like 'Effective C++')

Is there any books or online materials that cover these topics concisely? Obviously, I don't want to buy a beginner book that spends its half about control statements and functions.

+3  A: 

K&R is the only place to start and Expert C Programming is a good follow on.

ennuikiller
David Thornley
Ha, didn't see this post when I wrote mine!
dicroce
+4  A: 

I still think reading K & R C is the best way to go. Then read the C99 standard and other online references to fill in the holes for newer tech. Cprogramming.com is a nice C and C++ site with tutorials and explanations of things that the author updates constantly, so that could be of help to you.

EDIT: Here's a discussion of what's new in C99.

Kyle Walsh
What's new in C99 - http://home.datacomm.ch/t_wolf/tw/c/c9x_changes.html
Trustin Lee
@Trustin I was just looking at that page and was going to come back to link it to you! I'll edit my answer to put that link in for completeness.
Kyle Walsh
A: 
n00ki3
While that's almost certainly an excellent book (the first one was), what does it have to do with C programming specifically? The first edition had all the code in C, but lots of books do that.
David Thornley
A: 

Everyone is going to say the K&R book. Yes, of course.

Here's the best book on C that's NOT the K&R book:

Expert C Programming

dicroce