It's a program that examines your code, without compiling it or running it, and identifies bad practises or possible buffer overruns and that kind of thing. I've used splint before, and it works pretty well.
Wikipedia page:
http://en.wikipedia.org/wiki/Splint_...amming_tool%29
Download page:
http://www.splint.org/
Windows download page:
http://www.splint.org/win32.html
It's a program or a library that examines your program as it is run, detecting any buffer overruns or memory errors. The only one I've really used is Valgrind, which is
fantastic, but unfortunately only runs under Linux. I've heard of Purity, Electric Fence, and dmalloc(), but never tried any of them.