once you get into dynamic memory allocation, and the data structure concepts, it should make sense.