Posted April 5, 2013 by Spyros in C/C++ Programming

Understanding the Differences Between C & C++


Both C and C++ are computer programming languages. As it has been derived from C, C++ can be considered as a superset of C.  It runs most of the C code and includes the concept “Object Oriented“.  Though some of the programming rules that are applicable in both C and C++, they generate dissimilar results.


The major differences between C and C++ are as follows:


  • While C is a procedural programming language it gives importance to the data and the process of the program and C++ being is a procedural and an object oriented (multi-paradigm) program focuses only on the records and not on the procedure.  The object oriented program characteristics makes it possible to code huge programs with ease.
  • Since C is not an object oriented program, certain features like data hiding are not present and hence the data is not protected. C++, however, has the data hiding facility and hence the data is protected.
  • As the language of C is hard to interpret and is not easy to be used, it is considered to be a low-level language. C++ has both low-level (focuses on hardware of the device) and high-level languages (focuses on the program) and hence is considered to be a middle-level language.
  • Binding is a process by which the data and variables of a computer program are transformed into a codes.  C makes use of Early Binding or Static binding which is a top to down approach and is created step by step with detailed processing of each step. C++ utilizes Late Binding or dynamic binding which is a bottom to up method and in this method the basic building blocks are created first and then they are connected together to form a bigger format.
  • C++ follows Functions form the basic constituents of a C program and objects are the basic constituents of C++.
  • C does not permit an operator to use more than one variable in a single program as it does not have function overloading. However C++ can support function overloading, due to polymorphism, a characteristic of object oriented programming.
  • Name collisions cannot be evaded in C as it does not have the NAMESPACE feature. C++ makes use of NAMESPACE to circumvent name collisions.
  • The syntaxes, data types and header files are different in C and C++. <stdio.h> is the main header file for C while for C++ it is <iostream.h>.  Also C employs scanf & printf as the input and output functions respectively and makes use of cin>> and cout<< as its input and output functions respectively.
  • Reference variables (This permits 2 changeable names to point to the same memory site) cannot be used in C programming. C++ allows the use of reference variables.
  • It is a smaller language as it has only 32 Keywords. The number of Keywords in C++ is 52.
  • Functions cannot be used inside structures in C while it can be used in C++.
  • Inheritance, which is a procedure due to which items of one program gets the properties of another program, is present in C++ and not in C.


Thus, if one wants to just browse through programming it will be better to use C++ as it has a powerful library.  However, if learning programming is the objective, then one should go for C.

This guest post has been brought to you by Robin Mckenzie of www.cableinmyarea.net, a site that offers savings and current information on consumers’ broadband internet and cable.