C programming language is a powerful programming language widely used in today world scenario. C is said to be a powerful programming language due to various features it supports. The following are some different features supported by C programming language.

1. Simple

C language is said to be simple because it follows the basic and core concepts of the programming. The syntax used to represent programming techniques is easy to understand and easy to implement. It has rich set of library functions, data types, and other various concepts with structured approach where a given problem is divided into small parts to make the implementation simple.

2. Portable

Portable is one of the powerful feature of C language through which one can easily carry and execute source code on different machines. C programming language is referred to as machine independent because C programs can be executed on different machines with some specific changes.

3. Procedural programming language

Procedural programming concept is one of the important and powerful features of C programming language which provides the ability to break or split a large program into small pieces known as procedures (a set of instructions which performs a specific task). This concept of procedural programming increases the efficiency and maintenance of the program.

4. Structured programming language

Structured programming feature of C language leads to rapid development of the computer programs with clarity and quality. Structured programming concept implements the basic concepts of selection and decision making statement (if, if-else, if-else-if) as well as iteration (loop) with the help of block structure and subroutines,etc.

5. Rich set of library

C programming language supports a lot of inbuilt functions which has made the development process fast and efficient.

6. Memory management

Dynamic memory allocation technique used in C language adds the ability of memory management to C. Using free() function one can free the allocated memory, thus making the memory more efficient to use.

7. Pointer

C programming language uses the concept of Pointer through which we can easily access to the allocated memory according to the need and requirement. With the help of Pointer, the execution time for any program is minimized. The concept of Pointer also plays an important role in implementation of data structure.

8. Mid-level programming language

C programming supports both low level programming as well as high level programming. C programming language is used to develop system software such as kernel, drivers, etc.