C Programming language was developed in 1972 in AT&T BELL LABORATORIES USA . It was developedby DENNIS RITCHIE. Initially, it was developed to overcome the problem of previous language such as B,BCPL,etc.

Features of C programming language :-

  1. Simple
  2. Machine Independent or Portable
  3. Mid-level programming language
  4. structured programming language
  5. Rich Library
  6. Memory Management
  7. Fast Speed
  8. Pointers
  9. Recursion
  10. Extensible


Let us see the features one by one:
  1. Simple :-C is a simple language in the sense that it provides a structured approach (to break the problem into parts), the rich set of library functions, data types, etc.
  2. Machine Independent or Portable :-Unlike assembly language, c programs can be executed on different machines with some machine specific changes. Therefore, C is a machine independent language.
  3. Mid-level programming language :-C is intended to do low-level programming. It is used to develop system applications like kernel, driver, etc. It also supports the features of a application-oriented language . That is why it's referred to as mid-level language.
  4. Structured programming language :-C may be a structured programming language within the sense that we will break the program into parts using functions. So, it is easy to understand and modify. Functions also provide code re-usability.
  5. Rich Library:- C provides a lot of inbuilt functions that make the development fast.
  6. Memory Management:-It supports the feature of dynamic memory allocation. In C language, we will free the allocated memory at any time by calling the free() function.
  7. Speed:- The compilation and execution time of C language is fast since there are lesser inbuilt functions and hence the lesser overhead.
  8. Pointer:- C provides the feature of pointers. We can directly interact with the memory by using the pointers. We can use pointers for memory, structures, functions, array, etc.
  9. Recursion:- In C, we will call the function within the function. It provides code reusability for every function. Recursion enables us to use the approach of backtracking.
  10. Extensible:- C language is extensible because it can easily adopt new features