maybe the biggest improvement in c programming over the last decade is valgrind, making purify-like debugging available to everyone. it's completely removed a whole class of annoyingly hard to fix bugs from my code.
This is why Zed pushed it so hard in Learn C the Hard Way. Some people actually had the gall to complain about him ensuring the noobies learned to use valgrind before proceeding to write any real code. Ingrateful dipshits don't remember what the pre-valgrind/dtrace days were like.
Last time I wrote anything in C was on Netware NLMs, and it has been long enough that I have mostly forgotten what I knew.