What's the one thing you can do to most improve your C programming skills?
In my opinion, adding -Wall -Wextra -Werror to your CFLAGS, is the answer.
This flag combo turns on a lot more error checking, and turns all "warnings" into hard errors that stop the compiler in its tracks. This forces you to fix things that technically compile but shouldn't.