Difference between C and C++

By | February 21, 2024

1. C language :
C was developed by Dennis Ritchie between the year 1969 and 1973 at AT&T Bell Labs to write Operating System. It is a procedural programming language and does not support classes and objects.

2. C++ language :
C++ was developed by Bjarne Stroustrup in 1979. It has imperative, object-oriented and generic programming features. C++ runs on lots of platform like Windows, Linux, Unix, Mac etc.

C Vs C++

Difference between C and C++ :
The main difference between both these languages is C is a procedural programming language and does not support classes and objects, while C++ is a combination of both procedural and object-oriented programming languages.


S.No. C langaueg C++ Langaue
1. 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.
2. C is a subset of C++. C++ is a superset of C.
3. C supports procedural programming. C++ is known as hybrid language because C++ supports both procedural and object oriented programming paradigms.
4. C does not support object oriented programmingC means does not support polymorphism, encapsulation, and inheritance. C++ is an object oriented programming language so it supports polymorphism, encapsulation, and inheritance.
5. C contains 32 keywords. C++ contains 52 keywords.
6. C does not support information hiding. C++ supports information hiding becasue of encapsulation.
7. C does not support inheritance. C++ supports inheritance.
8. Direct support for exception handling is not supported by C. Exception handling is supported by C++.
9. C can have multiple declaration of global variables. C++ does not allow multiple declaration of global variables.
10. C focuses on method or process isntead of data C++ focuses on data instead of method or procedure.
11. Header file used by C is stdio.h. Header file used by C++ is iostream.h.
12. C is a function-driven language. C++ is an object-driven language
13. Functions in C are not defined inside structures. Functions can be used inside a structure in C++.
14. Function and operator overloading is not supported in C. Function and operator overloading is supported by C++.
15. Built-in data types is supported in C. Built-in & user-defined data types is supported in C++.
16. Reference variables are not supported by C. Reference variables are supported by C++.
17. Virtual and friend functions are not supported by C. Virtual and friend functions are supported by C++.
18. 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.
19. scanf() and printf() functions are used for input/output in C. cin and cout are used for input/output in C++.
20. Since it is a procedural programming language so data and functions are separated in C. Data and functions are encapsulated together in form of an object in C++.
21. C supports only Pointers. C++ supports reference variables.
22. Polymorphism is not possible in C C++ provides support for exception handling. Exceptions are used for “hard” errors that make the code incorrect.
23. C language offers GTK tool for GUI programming. C++ supports Qt tools for GUIprogramming.
24. C is not compatible with another language. C++ is compatible with the other generic programming languages.
25. C does not allow inline function. C++ supports inline function.
26. The file extension of a C program is .c The file extension of a c+ + program language is .cpp
27. C language follows Top Down programming approach. C++ follow bottom-up programming approach..
28 In C programming language, a big program code is divided into small pieces which is called functions. In C++ programming language, a big program code is divided into Objects and Classes.
29. C focuses on the steps or procedures that are followed to solve a problem. C++ emphasizes the objects and not the steps or procedures. It has higher abstraction level.
30. C is free-format program source code. C++ is originally developed from the C programming language.
31. C requires all the variables to be defined at the starting of the scope. C++ allows the declaration of variable anywhere in the scope, i.e., time of its first use.
32. In C, we can call main() function through other functions. In C++, we can not call main() function through other functions.



Please write comments if you find anything incorrect. A gentle request to share this topic on your social media profile.

Author: Mithlesh Upadhyay

I hold an M.Tech degree in Artificial Intelligence (2023) from Delhi Technological University (DTU) and possess over 4 years of experience. I worked at GeeksforGeeks, leading teams and managing content, including GATE CS, Test Series, Placements, C, and C++. I've also contributed technical content to companies like MarsDev, Tutorialspoint, StudyTonight, TutorialCup, and Guru99. My skill set includes coding, Data Structures and Algorithms (DSA), and Object-Oriented Programming (OOPs). I'm proficient in C++, Python, JavaScript, HTML, CSS, Bootstrap, React.js, Node.js, MongoDB, Django, and Data Science.