As everything has a finite potential, so the C language stands in no exception. The following are some of the drawbacks of C languages :
Concept of OOPs : C language prohibits the concept of OOPs as it is based on the procedural approach. (Inheritance, Polymorphism, Encapsulation, Abstraction, Data Hiding).
Run Time Checking : C language does not do the running checking which means that errors are not detected after every line of coding, but only once the complete coding is done making it inconvenient to correct the bugs
Concept of the Namespace : C language does not exhibit the property of Namespace, so there cannot be two variables with the same name in the C language program.
Lack of Exception Handling : The language doesn’t exhibit the important feature of exception handling. The feature of exception handling doesn’t allow the user to detect the errors and bugs while compiling the code.
Insufficient Level for Abstraction : C language doesn’t have a very wide data handling capacity, which poses a threat to the security of the language.