Attaching behavior to struts and polymorphism has bunches of unnecessary code bloat in C. Thats stuff you really can't avoid in large projects. So it's higher level sure but still way lower level the C++, rust, golang ect.
I never got good at assembly though.
C is one of my favorites. Just a great language to learn computer science in.