there is lots of stuff here
http://www.thefreecountry.com/compilers/cpp.shtml
the compiler you choose is really determined by what application target you have in mind.
if you want a Dos application TurboC(Borland C) is very good
GNU C is also very good.
but if you want to write a windows program, then some of the Visual Compilers are much more appropriate, or a compiler that comes with a separate Development/Builder/GUI program(see below)
most compilers require YOU to realise that they make use of SYSTEM Parameters, so just copying a lot of files into a folder wont be the same as installing.
Many of the downloads assume you know this, and are not Install packages but just copies of already installed software.
This is mostly because they are DOS style command line programs that didnt come with clever install setup programs.
Instead you do the configuring from inside the development environment, ie where your source code folder will be and where you want your executables to be placed
also if you do want to use a compiler to create a windows application, it may involve using compiler directives to INCLUDE some serious extras before you even get started.
if you are learning then start with DOS
keep it simple.
there are lots of FREE DOS bootable resources, so you could put it all on a usb stick.
Borland C (Turbo C) includes a development/builder environment which is worth a look.
http://edn.embarcadero.com/article/20633
there are many educational and university sites that provide course information and documentation that is accessible by anyone, so look for .edu sites and c course work.