C is the widely used language. It provides many features that are given below.
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 :
Although, C is intended to do low-level programming. It is used to develop system
applications such as kernel, driver, etc. It also supports the features of a high-level
language. That is why it is known as mid-level language.
4) Structured programming language :
C is a structured programming language in the sense that we can break the program
into parts using functions. So, it is easy to understand and modify. Functions also
provide code reusability.
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 can 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 can 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.