Best way to learn C
bluesmoon: read code.
if you don't understand a function, read it's man page.
if you don't understand a type declaration, use the cdecl command (http://linux.die.net/man/1/cdecl) - you may need to install it first.
write code.
make mistakes, read the docs, fix mistakes.If you already know one procedural programming language, picking up another isn't that hard.  Don't worry about the hardcore internals - you'll pick that up over time.  Read books like the "Practice of Programming" and "The Elements of Programming Style".