http://cslibrary.stanford.edu/101/
Download EssentialC.pdf
See also
- Pointers and Memory -- basic concepts of pointers and memory -- (*, &, malloc, void*, etc.) is actually the trickiest part of C and C++ once you understand the basics.
 - The silly Binky Pointer Fun video -- animated introduction to pointers
 - Linked List Problems -- lots of linked list problems
 - Binary Trees -- all about binary trees
 - The Great Tree List Recursion Problem -- the greatest pointer/recursion problem ever (advanceed)