C is most popular and widely used programming language. Its provide many features that helps it to stand in between most popular languages.
Let’s discuss about features.
1. Simple and Easy to learn
C is very simple and easy to learn language. If you want to start your career in compute science, its is best language you can start from. Its provide structured approach which help us to break program into small parts. It has rich set of library functions (predefined functions), data types, operators, controls structures etc..
2. Portable and machine independent
This is cool feature of c language because we can execute programs on different machine with some hardware/machine specific changes. It means we can say that write here and execute there. We can run c program on multiple computers.
3 Mid-level programming language
C was originally invented to do low-level programming. Earlier it used to develop system application like driver, kernel, compiler etc. One reason we call it mid-level languages because it also supports features of a high level programming language.
4 Structured programming language
As we already mentioned above, c is structured procedural programming language because it provides mechanism to break program into small functions and those function can be reuse later which make it code reusable. The structure procedure make is easy to understandable and developer can make update in existing functions easily.
5 Memory Management
Its provide mechanism to free/delete allocated memory anytime by calling the free() library function in program. that’s why we called it dynamic memory allocation.
6 Large Library Collection
C Programming Language provides lots of library/inbuilt function which makes development faster. We can use predefined functions to perform some minor/specific task. For e.g. time.h and math.h libraries provide many predefined functions so you can use them directly instead of write custom code for these library.
Pointer helps us to directly interact with memory of any variable, array, function, structure etc. We can directly access address of any variable using pointer. You can get address of any of the above and manipulate them.
When you call a function inside the same function, its called recursive call of the function. Its provide code re-usability every piece of function. We can also use recursion to use backtracking.