Guys, IDEs are not compilers. Code::Blocks, Visual Strudio and Dev C++ are IDEs that come with compilers. You never directly interface with a compiler because it doesn't have one.
As for actual compiler suggestions, the GNU compiler collection (GCC) is solid and widely used, especially on unix-like systems. These are the ones I use, and are currently on revision 4.6.
MinGW (Minimalist GNU for Windows) is actually just a port of GCC to windows, but with a few quirks as it tries to be as native to windows as possible. One of these quirks is that it doesn't use the GNU C library, but attempts to stick to microsoft's C library as closely as possible. This makes for some false positives when trying to port code from windows to Linux. For a beginner, it's fine. But you may run into cross-platform issues later.
Although nearly everybody in this thread has mistaken the compiler for the IDE, that's probably what the opening post meant to say. -_-;
So Code::Blocks is a fantastic cross-platform IDE that's also open source. Dev C++ is an outdated, but still-available and still-used IDE that doesn't fuss much. You can debug any program without ever having to create a whole new project, unlike Code::Blocks. However, when Code::Blocks debugs, it's serious business. Dev C++ is also open source, but is unmaintained thanks in large-part to Code::Blocks. If you really want to use Dev C++, use wxDev-C++ instead, because it's still maintained.
Last edited by Biokinetica on 16 Mar 2011, 3:56 pm, edited 1 time in total.