+1 for Beej. I barely knew C when I enrolled in network programming, so trying to fill my C gaps alongside learning network programming was challenging. Someone recommended Beej. Then it was just a matter of C.