Hellow everybody, welcome to C Programming Tutorial. There is a old saying on C Programming, Master C and you can learn any programming language you want with ease.
C is a Structured Programming Language (program executes line by line). Even though many Advanced modern programming languages have emerged, C still remains the most powerful programming language ever invented.
Why C is the most powerful language?
To put that in a simple way,
Even though modern programming languages are created to provide additional features and ease of implementation for programmers, I would say, modern languages are created to prevent us from using / practising C, because C provides a special feature, which was completely eliminated from modern programming languages.
What is special about C ?
Well, C got the ultimate lethal weapon called “Pointers”.
What is it with Pointers ?
Imagine that you can bypass any security and access any memory location at your will? Well Pointers does that.
To put in simple terms, nothing is impossible in C.
Before, we get into C, it is important to understand about how our PC works. Because C is a powerful programming language, which works closely with our Computer Hardware. It is a must that, we should be aware of how our PC (Computer) Works.
We all are familiar with Hardware and Software.
Hardware, we can touch and feel physically. Eg:- Monitor, Keyboard, Hard Disk, Mother Board etc.
Software, we can see but cant feel them Physically. Eg :- Application programs and Operating System.
Now, we got two entities Hardware and Software with no relation. How they both work together ?
Well, between Hardware and Software, we got something called Firmware.
Firmware act as a medium to exchange data’s and instructions between hardware and software.
Firmware are Embedded IC Chip called BIOS (basic input Output System) placed in the PC Motherboard by the Hardware Manufacturer. Every piece of Hardware devices in our PC are controlled by this BIOS IC Chip.
Now, when we switch on our Computer, the BIOS looks at Track 0 Sector 1 of our Hard Disk for Boot Loader of the Operating System. Boot Loader is a set of Assembly Instructions written by Operating system at track 0 Sector 1 of the Hard Disk at the time of Installation.
As soon as the BIOS finds the Boot Loader, the BIOS load the Interrupt Instructions (IR Instructions) to the Main Memory (RAM) of our PC and hands over the PC Control to the Boot Loader and the Boot Loader in turn loads the Operating System to the Main Memory (RAM). The operating system in turn loads the Application Programs to the Main Memory (RAM).
The below graphics Explains that,

Now consider a situation, we want to copy a file to our PC Hard Disk. When we initiate copy process in our Operating System the operating system communicates with BIOS (Firmware) with the help of Interrupts Request (IR) instructions to do the Job. The BIOS after receiving the suitable IR Instructions moves the Read/Write Head of hard Disk to the appropriate Location and does the file copy job in the Hardware Level. So for every job like copy, format, delete etc, there are separate IR Instructions.
We have to be aware of this if we want to do some System Programming.
It is very important that every C programmer should be aware of memory.
1 Bit – Space required to store a single character (eg :- a or , or – or /or . or 4 etc)
1 Byte – 8 Bits
1 Kilo Byte (KB) – 1024 Bytes
1 Mega Byte (MB) – 1024 KB
1 Giga Byte (GB) – 1024 MB
1 Tera Byte (TB) – 1024 GB
So lets do a simple math to know how much space is 1 TB.
1 bit x 8 byte x 1024 kb x 1024 mb x 1024 gb = 8589934592 Bits (1 TB).
Guys, links are provided in the left side to navigate through C tutorials.
If you have any doubt, you can always contact me with your queries at satheesh2006net@gmail.com.