Difference Between C and C++

Challenge Inside! : Find out where you stand! Try quiz, solve problems & win rewards!


C and C++ are programming languages that are used to create applications. They are two of the most widely used and oldest programming languages. This article will explain the difference between C and C++ programming languages. C++ is a superset of C since it was inspired by and derived from C.

Scope of article

This article would enhance our knowledge of two of the most common programming languages: C and C++. And we will discuss, where are these languages used.

Some topics we would go through in this article are:

  1. What are C and C++ languages
  2. The difference between the C and C++ languages
  3. Which language would be best to start with for a beginner

C and C++ are two of the oldest programming languages still in use. Though C++ is a direct descendant of the C language, it has higher efficiency and performance. Each programming language comes with its own set of advantages and disadvantages.

C++ programming language is an upgraded version of the C programming language with the inclusion of object-oriented functionality.

Difference Between C and C++

Some of the common differences between C and C++ are :

  1. The classes and objects are not supported in the procedural programming language such as the C language but are supported by C++.
  2. Language such as C++ is procedural as well as object-oriented programming oriented and hence is called a combination of these two programming language techniques.
  3. Many features of object-oriented programming language which are present in C++ such as Abstraction, Inheritance, Encapsulation, and Polymorphism are also not available in C language.
  4. C++ also supports some more primitive data types such as boolean and string which were not supported in C language.

Before we go into the details, let’s take a glance at what both languages are and what defines them :

What is C Programming Language?

The C programming language is a general-purpose and high-level language that facilitates structured programming. C was later on chosen as a system development language because it generates code that executes almost as quickly as an assembly language code.

The C programming language was created by Dennis Ritchie at Bell Labs in 1972 to allow utilities to run on Unix systems. Because C programs are fast, they allow programmers to manually control computer hardware.

The strength of the C programming language is its performance and its use for coding on a wide range of platforms. Operating systems, interpreters, compilers, and microcontrollers are some of the systems that use the C language for their internal programming.

What is C++ Programming Language?

C++ was created by Bjarne Stroustrup and was considered the finest version of C when it first appeared in 1985. In 1979, while working at Bell Labs, Bjarne started developing the C++ programming language. He aimed to build a C extension that was more efficient and versatile than the C programming language.

Object-oriented programming (OOPS) is made possible using C++. OOPS is a concept in programming in which we write programs based on the principle of real-world objects. Like every object in the world has its own set of characteristics and functions to perform, similarly, object-oriented programming helps us to implement this approach through programming.

OOPS has four basic principles as given below:

  1. Abstraction
  2. Encapsulation
  3. Inheritance
  4. Polymorphism

C++ has a low abstraction level and relies on manual memory management. It is lightweight as compared to C programming language and can be used to create apps for a number of different platforms.

C vs C++

Let's summarise Difference Between C and C++:

Programming ParadigmProcedural languageC++ is both a procedural and object-oriented programming language (OOPS)
DeveloperDennis RitchieBjarne Stroustrup
OriginIt is based on Assembly LanguageIt is based on C language
Abstraction, Encapsulation, Inheritance, PolymorphismC does not support the given OOPS principles.C++ supports all of the given principles.
Operator OverloadingNot supportedSupported
KeywordsC has 32 keywords.C++ has 63 keywords
Constructor/DestructorNo constructor or destructor is supported in CBoth constructors and destructors are supported
Exception HandlingNot supportedSupported
ApproachC uses top-down approachC++ uses bottom-up approach
Storage and dynamic memory allocationC uses functions- malloc and calloc for storage and dynamic memory allocationC++ uses operators- new and delete for performing storage and dynamic memory allocation
Header filesUses header file eg. stdio.hUses header file eg. iostream.h
Standard I/O operationsUses printf and scanf for input and output operationsC++ uses cin>> and cout<< and also printf and scanf
TemplatesDoes not supports templatesSupports templates
File extensionFile extension for a C program is .cFile extension for C++ program is .cpp
Program divisionThe program is divided into small codes known as functionsA C++ program is divided into small pieces of code known as classes and objects.
Inline functionC does not supports inline functionsC++ supports inline functions


  1. We saw difference Between C and C++ Languages.

  2. C++ is an extension of the C programming language that is more efficient and versatile.

  3. C++ has a low abstraction level and relies on manual memory management. It is lightweight as compared to C programming language and can be used to create apps for a number of different platforms.

  4. We’ve seen that C is a procedural language and C++ is an object-oriented programming language and many features are unique only to C++.

  5. Because C++ is developed from C, it provides many of the features same as C and some which are better than C.

Read More:

Free Courses by top Scaler instructors