For some reason I'm going too fast to remember what I'm reading and finding myself having to go back and read the material over again.
Is this normal and happens to everyone that is trying learn C or other programming languages?
Yeah, it's pretty normal. Until you've actually used
the knowledge several times you won't internalize it.
It might help to make yourself a "cheat sheet" of notes for the stuff you're having trouble remembering. Just the act of typing it out will help you remember it; once you've made the cheat sheet you may find you don't need it any more!
TBH, these days it is not unusual for even professional developers to spend a large percentage of their time reviewing man pages for details of various system calls and library functions, and/or on Google and/or Stack Overflow. So once you've internalized the C language constructs, you'll still be spending a fair amount of time looking things up.
Real-world example: I'm still struggling with all the various sub-commands and options for git. This job is the first time I've used it professionally (was a Subversion user for years prior), and for anything outside the basic workflow I need to look stuff up. I feel like this guy: https://xkcd.com/1597/
As a software developer you are either constantly learning, or you are slowly becoming obsolete. Even if you're coding in an "old" language like C.