I'll start this by saying that I already have some programming experience. I took Comp Sci I and AP Comp Sci in school, so I'm familiar with the basics of Java.
I'm looking to know more of C, specifically how it applies to the Arduino. I'm not the most familiar with pointers, except that they point to locations of memory, and that in Java they're called references and they're hidden from you.
I will admit that I don't exactly know how strings in C work, other that in Java they're objects and you can 'walk' them as an array.
I'm looking for more of a hard book that I could read and learn instead of Codeacademy.