GNU cc works as well on MS-Windows than on MacOSX (and
includes C, C++, Objective-C and some other languages).
You can easily get GNU cc along with the cygwin package on
MS-Windows (
http://www.cygwin.com).
The cygwin package doesn't always work that well. For a Unix
toolkit, the best free one I've found is UWin. (Many, many
years back, I used the MKS toolkit under MS-DOS, and was very
pleased with it. But MKS seems to have priced it out of reach
today.)
Long term, of course, you do need some sort of toolkit under
Windows, because the system doesn't come with anything usable.
For starting, however, it's probably not that necessary.
It comes with the developers tools on MacOSX (downloadable for
free fromhttp://
www.apple.com).
Lucky guy! GNU cc comes with its own GNU emacs IDE.
GNU cc (i.e. gcc) doesn't come with anything for emacs other
than a .el file for reporting bugs. Cygwin comes with emacs,
but you can also install emacs (or better yet, gvim)
independantly. Installing any of these tools, however, does
require some knowledge of how Windows organizes things, in order
to set the necessary path variables, etc. For that, you're
better off installing CygWin, which does take care of that
aspect for you (not optimally, but adequately for simple
things).
Having said that, if he's just starting, a classical IDE might
be preferable; there's no point in having to learn makefile's at
the same time you're learning the language. (In any industrial
use, of course, you'll quickly run up against the limits of the
IDE, and end up writing your own makefiles anyway. In which
case, GNU make is an order of magnitude more powerful than any
of the other make's I've seen.)