Difference Between C And C++

C and C++ are programming languages, but we often hear their names together, so what is the difference between the two of them? C++ has been derived as a more efficient version of the C language.

The major difference between the two is that C is a procedural language, whereas C++ is an object-oriented language. In simpler terms, this means that C does not support the concept of classes & objects. But C++ does support object-oriented features like classes, inheritance, abstraction, and many more.

About C Language

C language was developed by Dennis Ritchie in 1969 and released in 1972. It is a procedural programming language and does not follow the OOPs concepts like inheritance, polymorphism, or encapsulation.

  • C language does not support operator overloading concepts.
  • Also, it is known as function-driven language.
  • This is lightweight and offers manual memory management.
  • Because C is a procedure-oriented programming language, it follows a top-down approach.
  • In this case, the main() function is written at first, and all subfunctions are called from the main() function.
  • Thereafter, sub-functions are written as per the requirements.
  • C language can be used when writing system-level codes.
  • Additionally, the data in a C code behaves as a free entity and can be manipulated by outside code.

About C++ Language

C++ was developed by Bjarne Stroustrup in 1979 and made its first appearance in 1985. C++ supports both procedural and object-oriented concepts of programming. Therefore, it supports inheritance, polymorphism, and encapsulation.

  • The C++ programming language has almost everything that C has to offer but more effectively.
  • Encapsulation ensures that the data is hidden, and only the intended data is visible to an outside user.
  • C++ is also known as object-driven language.
  • The C++ programming language follows a bottom-up approach.
  • In the bottom-up approach, the code is composed of classes and functions, and these are later integrated with the main() function.
  • While C++ can run most C code, the C compiler isn’t able to execute the C++ code.
  • C++ must be used when writing codes for networking and server-side applications.

Also  Read: Best C/C++ IDE Software For Programming

Difference Between C And C++

Feature C C++
 Approach C follows a top-down approach C++ follows a bottom-up approach
Compatibility with each other C compilers cannot execute C++ codes C++ compilers can run C codes
Data Security Does not support encapsulation hence, not good for data security Supports the concept of encapsulation, hence data security is assured
Hiding Variables No such feature is offered. C++ allows the programmer to hide variables inside a class and provide an interface only with the functions
Inheritance Not supported Supported
Default Header stdio.h iostream.h
File extension .c .cpp
Keywords C has 32 keywords C++ has 52 keywords
Exception Handling C does not provide direct methods to handle exceptions C++ has try and catch blocks for exception handling
Input and Output Functions C uses scanf() function to take input from the user and printf() to print the results C++ uses cin to take input and cout to present the output. These are operator overloaded functions


Both of C & C++ languages are among the two most basic languages for programming. Hence, it is a great time to brush up on your C and C++ skills or start developing them, if you haven’t already.