C is a procedural programming language. It was mainly developed as a system programming language to write an operating system. A few of the key features of the C language are low-level access to memory, a simple set of keywords, and a modular approach. These features make the C language suitable for system programming like an operating system or compiler development.
Some of the important features supported by C language are:
- Portability
- Modularity/Structured Language
- Simple and efficient
- Speed
- The Existence of Libraries
- Dynamism
- Case Sensitive
Portability:
It refers to the usability of the same piece of code in different environments. C supports being written on one platform and being run on another with little or no modification.
C as the language is platform-independent but its executable (.exe) is platform dependent. The same piece of code can be used across different platforms but the object file generated on one platform cannot be used on another platform.
Diag-1: C Compiler

Modularity/Structured Language:
This feature allows the C program to be broken into smaller units called functions which can be run individually. This aids in easy to maintain, extension, and debug of the C program. For example, to find the sum and difference of two numbers, two functions can be written for each job instead of clubbing everything into the same block.
Simple and Efficient:
The syntax of the C programming language is easy to learn and can be used to design applications that were previously designed by assembly language. Today it is used to develop complex systems like operating systems or compilers.
Speed:
C is a compiler-based language and is faster than other programming languages like Java or python, which are interpreter based. A compiler considers the entire program as an input and generates the machine code whereas the interpreter takes one instruction at a time and then generates the output only for that specific instruction.
Existence of Libraries:
C programming language is rich in libraries that have a wide range of built-in functions. Even the user-defined functions can be added to the C library which can be used at a later point in time.
Dynamism:
It supports dynamic memory allocation which helps in the proper utilization and management of memory.
Case Sensitive:
It is a case-sensitive programming language. In C, ‘break’ and BREAK’ are different.
Relevant Post:
- Introduction to programming language?
- Introduction to C language
- Compile and run a C program
- The phase of C program compilation
- Compiler, Interpreter and Assembler
- C language syntax
Categories: C Language
Leave a Reply