1.C and C++ both have data types operator and conditional looping control statements.
But the difference is that C++ has to object-oriented concepts which C programs do not have. Hence C program is like the subset of C++ program.
2. Hence C is a procedural programming language, and C++ is object-oriented programing language.
2.C does not support functions, function overloading and operator overloading whereas C++ programs do.
3.C++ supports virtual and friend functions, whereas C has no support for virtual and friend functions.
4.C provides malloc() and calloc()functions for dynamic memory allocation, and free() for memory de-allocation, whereas C++ offers a new operator for memory allocation and delete operator for memory de-allocation.
5.C does not provide direct support for error handling (also called exception handling), C++ provides support for exception handling. Exceptions are used for "hard" errors that make the code incorrect.
6.C uses functions for input/output. For example, scanf and printf, whereas C++ uses objects for input-output. For example cin and cout.
7.C does not allow functions to be defined inside structures, whereas in C++, functions can be used inside a structure.
8.C does not support object-oriented programming; therefore it has no support for polymorphism, encapsulation, and inheritance, whereas, C++, being an object-oriented programming language, supports polymorphism, encapsulation, and inheritance.