The former is a much recommended book since it's very comprehensive and builds everything from the ground up and was the basis for the entire course. The latter is a beast of it's own and we simply covered what was effectively the first chapter as part of the course.
Also, you raised a point that is very relevant - you couldn't understand pointers when you were 15, but now you do.
There is some level of cognitive maturity required to understand new ideas. I understood pointers somewhat from school, but it really made sense to me once I learned about computer architecture in more detail.
Sometimes you need to see the whole picture to understand why an element is present there and usually that happens only if you stay long enough with a problem/concept.
I would suggest picking up a textbook in mathematics for a specific area relevant to your interest.
I found that studying specific topics (currently probability theory and statistics) helped me comprehend the field better and in ways that make it practical for my planned career.
The former is a much recommended book since it's very comprehensive and builds everything from the ground up and was the basis for the entire course. The latter is a beast of it's own and we simply covered what was effectively the first chapter as part of the course.