I originally started learning the C programming language several years ago in college and attempted to learn it on my own for a few years after that. I didn't get far, but I amassed quite a few books in the attempt. Later on I came across Thinking in C++ that recommended that readers unfamiliar with C go through the Thinking in C material.
I used it along with:
By the time I made it to the various types of pointers I was wide eyed and very unnerved. I wouldn't say I was lost exactly, but well roasted for sure.
While I have deep respect for professional C programmers and find the language interesting, I was glad to get back to learning C++ 1).
Various resources in no particular order (I'll eventually organize them)
-
-
-
-
-
intelligentedu.com - Blogs which link to programming resources (College lectures, books). Looks very good.
-
apitalk.com - Resource center and source code repository (has useful articles)
Currently, I'm not attempting to learn this language. I'm focusing instead on C++. Many authors teach C++ from the perspective that C++ is simply an evolved C, and while that may be the case, C++ has evolved to where it's possible to leave many (if not all) of the C constructs behind.
With that said I will likely be returning to this language at some point as there are many libraries out there that are intended for C.
The descriptions are borrowed from the tool websites
DJGPP is a complete 32-bit C/C++ development system for Intel 80386 (and higher) PCs running DOS. It includes ports of many GNU development utilities. The development tools require a 80386 or newer computer to run, as do the programs they produce. In most cases, the programs it produces can be sold commercially without license or royalties.
Digital Mars C and C++ Compilers for Win32, Win16, DOS32 and DOS. Fastest compile/link times, powerful optimization technology, Design by Contract, complete library source,
HTML browsable documentation, disassembler, librarian, resource compiler, make, etc., command line and
GUI versions, tutorials, sample code, online updates, Standard Template Library, and
much more.
MinGW A collection of freely available and freely distributable Windows specific header files and import libraries, augmenting the GNU Compiler Collection, (GCC), and its associated tools, (GNU binutils). MinGW provides a complete Open Source programming tool set which is suitable for the development of native Windows programs that do not depend on any 3rd-party C runtime DLLs.
9)
Microsoft Visual C++ Express can build both native and managed applications. Included is the Windows Platform
SDK which can build applications that use the Win32
API. Applications utilizing either MFC or ATL require the Standard Edition or higher, and will not compile with the Express Edition.
10)
Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules.