Como comentario en relación al uso de un determinado compilador de C:
A) Parece lógico el usar gcc si uno tiene la necesidad de desarrollar para distintos sistemas operativos, tales como Windows, Linux ó Mac.
B) Pero si solo vamos a trabajar en Windows, nos parece mejor solución utilizar el compilador Visual C++ express de Microsoft, primero porque lo desarrolla Micrsoft y esta es la mejor garantía de que debe hacer bien su trabajo
Segundo porque es gratis, y no requiere pagar por una herramienta de desarrollo para Windows creada por Microsoft (lo cual es bastante lógico, aunque Microsoft no nos tenía acostumbrados a ello), y tercero porque es el compilador que primero va a estar disponible siempre, por ejemplo para las betas de Windows 8 que Microsoft distribuye gratuitamente, ellos ya han incluido un Visual C++ Express en el propio Windows 8.
Respecto al punto A, en realidad es más una ilusión que otra cosa, porque en realidad Mac promueve Objective-C (usando un gcc modificado y ampliado) pero enfocado a ser usado desde el ide de Mac XCode. Y si vamos a programar para plataformas como Android y/o iPhone, de nada nos va a servir el gcc.
Siendo Visual C++ Express gratis y desarrollado por Microsoft, parece la solución más recomendable para Windows. Los fans del software libre se pueden enfadar poque opine esto, pero en este caso parece el camino más adecuado. Si fuésemos tan fans del software libre de verdad, entonces no usariamos Windows y todos estariamos en Linux. Recordemos que Windows sigue siendo el sistema operativo que tiene una cuota de mercado del 85% aproximadamente...