So it's 2010. I know enough C to be able to read and patch small apps where I find bugs, but I'd like to sit down and properly learn the language, in a way that encourages neat, usable code for my colleagues, that meets whatever the current standards are for C and covers modern topics like threading. I'm planning on using this to develop Python modules or hack on small Unix tools.
I've previously read K and R and found it understandable but a little boring. I really like the Head First series (but alas they have no C book) or anything with lots of examples.
What's the best introduction to C book you'd recommend?
Edit: Thankyou to everyone who's responded.
C++, on the other hand, is a moving target. Difficult to know what to recommend, apart from suggesting you get something modern which concentrates on using the STL, and perhaps Boost.