I don't know what C-Free is, but mingw2.95 is beyond obsolete - the latest version is 4.7 (or has 4.8 been released?) If you want a modern C IDE and compiler look at Pelles C or at Code::Blocks if you want to use C++.
I had a really long list of thing you could read before you got into arduino, but honestly, just go do it. Develop a really stubborn personality and don't stop until you understand whatever it is you're trying to understand. Lists of things to do don't really lend themselves well to computers and electronics when you're learning how to break stuff and make stuff. If you really want a programming language under your belt C is a good place to start. I would recommend Beejs guide to C programming as a free resource and Pelles C Compiler if you're on windows. Just remember none of this is strictly mandatory.
I have found Pelles C to be a very good C only compiler for Windows. It comes with a nice simple IDE, full C99 support (plus some C11 (at least more than Microsoft Visual Studio)) and is a very lightweight.
If you are teaching C, and the student's machines are Windows boxes, you can't get much simpler than installing Pelles C, which gives you a nice simple IDE and a very good C compiler.
CYGWIN for Windows is pretty easy and fast to get started in:
https://cygwin.com/install.html
I also use Pelles C from time to time as well. It is also very easy to get started, it has a great IDE:
http://www.smorgasbordet.com/pellesc/
Both are free and you'll be up and coding C in less than 2 minutes!
> I am looking for a good text editor/compiler for C
The thing you are looking for is called an IDE.
You can certainly use CLion, Visual Studio or Code::Blocks to write C programs - just give your C source files a .c extension. If you want a simple, C-only IDE, with a good C99 compiler, see Pelles C, but be aware that this is quite primitive compared with the other IDEs I mentioned.
> For the compiler / IDE, I need something small and simple that my students can also install on their own computers with minimum hassle
If this is for Windows, then Pelles C gives you a very good C compiler and a simple IDE in a single installation. Code::Blocks and TDM GCC is fine too, but a little more complex.
> I am also looking at Allegro for the graphics and game library
I would strongly suggest not going the games programming route for an introductory course.
On Windows I use Pelles C IDE. It is tiny, free, simple, yet feature packed. IMO it is the best C compiler for Windows, 2nd best debugger, and 2nd best assembler. It also has many examples & tutorials to get your started in C programming (console & Windows).
Not sure why I did not use stdint.h. Well, some of the types might not be guaranteed to be there. I have some future planes for this simple portable code. Might have to move over to C++11 because of lack of compiler support for C11 threading. So far, the only C compiler I can find that handles C11 threads and atomics is Pelles C.
​
http://www.smorgasbordet.com/pellesc/
​
Honestly, I would suggest trying out c on a Linux system as basically, the build process is simpler and almost everyone can help you.
All you need here is to know how to use a text editor, learn how invoke gcc and learn how to write a simple make file.
Once you have gotten the hang of make files, not having an IDE is not too big of a deal, I think, if your project is just a few thousand lines or less.
I also find reading make files a lot easier than looking at vs project files but that is probably a bias and I will admit I don’t know how the current vs community edition is.
After you learn that on a Linux, you’ll probably appreciate MinGW, assuming you want to do windows.
There’s also
http://www.smorgasbordet.com/pellesc/
I have to warn you, this compiler doesn’t nearly warn you enough cmp gcc, it will give you more rope to hang yourself but for a GUI wrapped ide for a single source file c program on windows, it’ll do the job, I’ve done small win32’s using this in the past, licensing is very flexible (freely distributable license).
> Just a minor nitpick, but he did refer to the linker as ld, so you're comparing Windows to Linux.
Wont matter in this case since both Windows & Linux use (or can use more accurately) X86. Any OS and any assembly language is capable of using macro assembly since it is the assembler that is providing the macro support and not the hardware.
FYI Pelles C is a great, bloat free C11/C99 optimized compiler for Windows supporting x86, x64, OpenMP. It comes with complete toolchain, latest SDK headers plus a full blown IDE.
Love FreeBSD though... :)
Try using Pelles C IDE, it is tiny, free, and the (imo) best C IDE for Windows. It also comes with lots of tutorials, examples, and a good Help File! Also, what is %zu supposed to do? What are you trying to format/print?
Visual Studio is sucky for C as the support for C99 is crap and the support for C11 is non-existent. As I mentioned in my other comment Pelles C is pretty great on Windows for C development.
I mostly use UltraEdit (I have a lifetime license from long ago) and TDM-GCC though if I can.
For straight C, the easiest tool around (and one with good C99 compliance) is probably Pelles C. However, if you are not particularly bothered about C99, then VC++ wil work perfectly well as a C compiler. The important thing is not to waste time getting hung up on which IDE/editor/debugger to to use, but to learn C, and that means writing code, and lots of it.
And to keep the idiots quiet, it's spelled "college", from the Latin "collegium" - "collage" is an artwork made by sticking various cut-out photos etc. onto paper.