También recomiendo gcc, pero no te acostumbres demasiado a las extensiones de GNU como asprintf() si quieres escribir código portátil. En algunos sistemas, falta strdup(), entre muchos otros. El compilador en sí no te arruinará, pero glibc lo hará.
Por un lado, tiene POSIX, por otro lado tiene ISO/c89/c99, luego tiene gcc.
Recomiendo encarecidamente gcc, teniendo en cuenta las advertencias anteriores mientras continúa explorando otros compiladores. Por ejemplo, puede ser divertido codificar alrededor de los límites de Lestes si te gusta incursionar en C++.
En cualquier caso, gcc es muy poderoso, cuenta con optimizaciones superiores y puede ser tan complicado que usted piensa que es para usted. Pero no olvide el código portátil ... o dónde/si los kludges de portabilidad son realmente apropiados.
Cygwin también es muy recomendable, ya que DasBoot publicó.
Posible duplicado de [C compilador para Windows?] (Http://stackoverflow.com/questions/116368/c-compiler-for-windows) – Mureinik