Skip to content
Related Articles

Related Articles

Difference between C and C++
  • Difficulty Level : Basic
  • Last Updated : 15 Feb, 2021
GeeksforGeeks - Summer Carnival Banner

Similarities between C and C++ are: 
 

  • Both the languages have a similar syntax.
  • Code structure of both the languages are same.
  • The compilation of both the languages is similar.
  • They share the same basic syntax. Nearly all of C’s operators and keywords are also present in C++ and do the same thing.
  • C++ has a slightly extended grammar than C, but the basic grammar is the same.
  • Basic memory model of both is very close to the hardware.
  • Same notions of stack, heap, file-scope and static variables are present in both the languages.

 

Differences between C and C++ are: 
C++ can be said a superset of C. Major added features in C++ are Object-Oriented Programming, Exception Handling and rich C++ Library. 

Below is the table of differences between C and C++: 
 

CC++
C was developed by Dennis Ritchie between the year 1969 and 1973 at AT&T Bell Labs.C++ was developed by Bjarne Stroustrup in 1979.
C does no support polymorphism, encapsulation, and inheritance which means that C does not support object oriented programming.C++ supports polymorphism, encapsulation, and inheritance because it is an object oriented programming language.
C is a subset of C++.C++ is a superset of C.
C contains 32 keywords.C++ contains 63 keywords.
For the development of code, C supports procedural programming.C++ is known as hybrid language because C++ supports both procedural and object oriented programming paradigms.
Data and functions are separated in C because it is a procedural programming language.Data and functions are encapsulated together in form of an object in C++.
C does not support information hiding.Data is hidden by the Encapsulation to ensure that data structures and operators are used as intended.
Built-in data types is supported in C.Built-in & user-defined data types is supported in C++.
C is a function driven language because C is a procedural programming language.C++ is an object driven language because it is an object oriented programming.
Function and operator overloading is not supported in C.Function and operator overloading is supported by C++.
C is a function-driven language.C++ is an object-driven language
Functions in C are not defined inside structures.Functions can be used inside a structure in C++.
Namespace features are not present inside the C.Namespace is used by C++, which avoid name collisions.
Header file used by C is stdio.h.Header file used by C++ is iostream.h.
Reference variables are not supported by C.Reference variables are supported by C++.
Virtual and friend functions are not supported by C.Virtual and friend functions are supported by C++.
C does not support inheritance.C++ supports inheritance.
Instead of focusing on data, C focuses on method or process.C++ focuses on data instead of focusing on method or procedure.
C provides malloc() and calloc() functions for dynamic memory allocation, and free() for memory de-allocation.C++ provides new operator for memory allocation and delete operator for memory de-allocation.
Direct support for exception handling is not supported by C.Exception handling is supported by C++.
scanf() and printf() functions are used for input/output in C.cin and cout are used for input/output in C++.
C structures don’t have access modifiers.C ++ structures have access modifiers.

 

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.
My Personal Notes arrow_drop_up
Recommended Articles
Page :