Proper understanding of C programming comes from understanding machine code/assembly level.
Only then will you know what does the CPU have to work with and what makes certain things faster than others.
Then you will see what C really does for you and appreciate it fully

Simple things like static type checking that without that deeper knowledge seem like unnecessary burden and compiler dumbness that should be removed suddenly start making sense...