Simple:- C is a simple language in the sense that it provides structured approach (to break the problem into parts), rich set of library functions, data types etc.
Machine Independent or Portable:- Unlike assembly language, c programs can be executed in many machines with little bit or no change. But it is not platform-independent.
Mid-level prorgramming language:- C is also used to do low level programming. It is used to develop system applications such as kernel, driver etc. It also supports the feature of high level language.
Structured prorgramming 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.
Rich Library:- C provides a lot of inbuilt functions that makes the development fast.
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.
Speed:- The compilation and execution time of C language is fast.
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.
Recursion:- In c, we can call the function within the function. It provides code reusability for every function.
Extensible:- In c, we can call the function within the function. It provides code reusability for every function.