C Programming

C is a powerful general-purpose programming language. C is fast, easy, portable, highly efficient and available on all platforms.

This tutorial teach you C from most basic level to advance step by step in easiest way possible.

C Language Topics

  1. Basic Fundamentals of C
  2. Variable in C
  3. Data types
  4. Input/Outputs
  5. Operators
  6. Control Statements
  1. Arrays
  2. Functions
  3. Pointers
  4. Structure & Union
  5. Memory Management
  6. File Handling


Basics Fundamentals of C:

  1. C Language Introduction
  2. C Language Standard
  3. C program structure
  4. Setting up Environment (MinGW | CodeBlocks)
  5. Keywords in C
  6. Signed and Unsigned numbers in C
  7. Which one you should use void main() or int main() or main() in C/C++?
  8. Macros and Preprocessors directive in C
  9. Tokens in C/ C++


  1. Variables in C Language
  2. Scope rules in C
  3. Storage classes in C – Static, register, auto, Extern
  4. Importance of extern Keyword
  5. Constants
  6. Declaration of global variable in C
  7. Initialization of global and static variables

Data Types:

  1. Data Types in C
  2. Integer Promotions in C
  3. Typecasting in C


  1. returned values of printf(), scanf(), getchar(), fgetc() and getc()
  2. Difference between printf, sprintf and fprintf?
  3. Difference between getc(), getchar(), getch() and getche()
  4. scanf() and fscanf() in C


  1. Operators in C
  2. Operator Precedence and Associativity in C
  3. Evaluation order of operands
  4. Comma in C and C++
  5. sizeof operator in C
  6. Comma operator
  7. Increment and Decrement operators
  8. C/C++ Ternary Operator
  9. Pre-increment & pre-decrement
  10. Stringizing and Token-pasting operator
  11. How to print a variable name in C?

Control Statements:

  1. Conditional statements
  2. Loops in C
  3. For Vs While
  4. Switch statement in C
  5. goto, Continue, Break Statement


  1. Introduction to Arrays
  2. Are array members deeply copied?
  3. 1D, 2D, multidimensional arrays in C/C++
  4. C function to Swap strings
  5. Pass an array by value
  6. Reverse a string in C/C++


  1. Functions in C
  2. Importance of function prototype in C
  3. Functions before and after main() in C
  4. Static functions in C
  5. exit(), abort() and assert()
  6. Parameter Passing Techniques


  1. Introduction to pointers
  2. Double Pointer in C
  3. Dangling, Void , Null and Wild Pointers
  4. Pointer vs Array in C
  5. void pointer in C
  6. NULL pointer in C
  7. Function Pointer in C
  8. near, far and huge pointers
  9. const char *p, char * const p and const char * const p

Struct and Union:

  1. Structures in C
  2. Union in C
  3. Struct
  4. Structure Member Alignment, Padding and Data Packing
  5. Bit Fields in C
  6. Difference between Structure and Union
  7. C structures vs C++ structures
  8. Enum in C

Memory Management:

  1. Memory Layout of C Programs
  2. How to deallocate memory without using free() in C?
  3. calloc() versus malloc()
  4. How does free() know the size of memory to be deallocated?
  5. Use of realloc()
  6. Memory Leak

File Handling:

  1. Opening, closing, writing and reading a file
  2. fopen()
  3. fgets() and gets() in C
  4. fgetc() and fputc() in C
  5. fseek() in C/C++
  6. ftell() in C
  7. lseek() in C/C++
  8. Print contents of file in C