C vs. C++

What is the difference between C and C++?

Both C and C++ are computer programming languages. The main difference between them is that C is a procedural language and C++ is a language that is more oriented towards objects. C++ was developed to correct the drawbacks that were found with C.

About the C language

The C computer language was developed in 1972 at Bell Labs for the purpose of being used in combination with the UNIX operating system. It is also used in the development of portable application software. It provides for structural programming with both recursion and lexical variable scopes. There is a static type system to prevent any unintentional operations.

All the executable codes of the C language contain functions, the parameters of which are passed by value. When the functions parameters are passed by reference, pointer values are used. A semicolon has to be used to end a statement.

The characteristics of the C programming language are:

  • Data and function pointers support ad hoc run time polymorphism
  • Small reserved keywords
  • Wide variety of compound operations, such as ++, =, etc.
  • A macro definition processor, source code is included in the file and conditional compilation

The language uses a set of functions and each program is part of the main function.

About the C++ language

C++ is a higher level computer programming language and is object oriented. It was also developed at Bell Labs and is the most common language used by computer programmers. The features of this language include:

  • Templates
  • Classes
  • Operator overloading
  • Virtual functions

It also brought in new features that were not seen in C language such as multiple inheritances and exception handling. It also has more type checking.

It does have the same characteristics as C and C++ programs are still able to run those created in C. There are some C codes, though, that are not compatible with C++.

Like C, C++ was developed for use with the UNIX operating system. The code written in this language is reusable. This means that a programmer can modify the C++ code without changing the portable. In this way it is independent of the operating system and no specific hardware is needed.

Another new feature of C++ is that of class. Classes can be used to organize the code and they remove bugs quite easily.


  1. Both C and C++ are computer programming languages. C is a procedural language and C++ is object oriented.
  2. Some features of C++ are not available in C, but all of the features of C are included in C++.
  3. Objects and classes are part of C++.
  4. Most C programs can be run using C++, but there are some that are incompatible.