C Language does not need any introduction. It is such a beautiful language and is like mother to all programming languages. It does not protect itself from itself unlike any other managed programming language or even its predecessor – C++. You are responsible for each line of code you write for the power and flexibility it provides!

Every programmer must learn C language before he has his hands in any managed programming. It is a great learning experience when your program crashes of SegFaults or Memory Violations. You may not learn this responsible programming if you start with a language which does garbage collection for you i.e. cleaning after you, not your dog! 🙂


To start programming with C, you first need a compiler. For *nix guys, gcc is the best available option. However for Windows folks, Visual Studio Express Edition is a great tool to own. Visual Studio Express Edition allows you to create Win32 Applications with Visual C++, i.e. it has the compiler that you need for your programming.


Once you have it installed:

Directory of C:Program Files (x86)Microsoft Visual Studio 10.0VC

23-01-2010  21:15    <DIR>          .
23-01-2010  21:15    <DIR>          ..
23-01-2010  21:14    <DIR>          atlmfc
23-01-2010  21:15    <DIR>          bin
23-01-2010  21:10    <DIR>          crt
23-01-2010  21:14    <DIR>          include
23-01-2010  21:14    <DIR>          lib
23-01-2010  21:12    <DIR>          redist
23-01-2010  21:10    <DIR>          VCAddClass
23-01-2010  21:09    <DIR>          VCContextItems
06-06-2009  15:52               160 vcEmptyTestProject.vsz
23-01-2010  21:09    <DIR>          VCNewItems
23-01-2010  21:10    <DIR>          vcpackages
23-01-2010  21:09    <DIR>          VCProjectDefaults
23-01-2010  21:15    <DIR>          vcprojectitems
23-01-2010  21:15    <DIR>          vcprojects
23-01-2010  21:10    <DIR>          VCResourceTemplates
15-09-2009  21:47             1,237 vcvarsall.bat
23-01-2010  21:15    <DIR>          VCWizards
               2 File(s)          1,397 bytes
              17 Dir(s)   1,326,067,712 bytes free

This batch file has the commands to set your environment. Run it in the command line or set your cmd.exe shortcut to run this the first time you start your shell. Name it the C Programming Shell. This batch file sets the environment variables that are needed for you to build your source, link and run…

You would also need a debugger. Windows Debugger is freely available. Also set your environment variable _NT_SYMBOL_PATH to “SRV*C:DebuggersSymbols*http://msdl.microsoft.com/download/symbols”. You can alternatively download your operating system specific symbols from the Public Symbol Server and save them to C:DebuggersSymbols. This is a big package 500MB+ but is good to download if you have limited bandwidth/slow connection.

c:> set _NT_SYMBOL_PATH=SRV*C:DebuggersSymbols*http://msdl.microsoft.com/download/symbols

This environment variable is temporary set form command line. To make it persistent, Go to Advanced System Settings and Create a New Environment Variable in System Properties as below.

image      image


You can also set it from registry:

HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerEnvironment
_NT_SYMBOL_PATH = SRV*C:DebuggersSymbols*http://msdl.microsoft.com/download/symbols

Set the Environment:

C:Program Files (x86)Microsoft Visual Studio 10.0VC>vcvarsall.bat
Setting environment for using Microsoft Visual Studio 2010 x86 tools.


Now your system is ready to kick start programming!!! However I would also recommend to install VIM editor (my preferred choice) for coding. There are various other options like Notepad2 and Notepad++ which have source highlighting and line number support. Good for debugging and code editing.