Newbie programmers are always in confusion for what is the difference between c and c++. In this article, we have explained it in very simple language.
What is Programming Language?
A programming language is a formal computer language or constructed language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express algorithms.
There are various programming languages in existence as of today, but we’ll see today that what is the difference between C and C++? Come let’s check it out below :
Basic Introduction for C and C++ Programming language :
- C programming language was developed by Dennis Ritchie[1972] while C++ programming language was developed by Bjarne Stroustrup[1983].
- C++ is the derived form of C programming language. C is the subset of C++.
- The major difference between C & C++ is that C does not support classes and objects as C is a procedural programming language, while on the other side C++ is a combination of both procedural and object-oriented programming language.
- The following table contains some of the major differences between C and C++.
Also Read-
Difference between C and C++ Programming
C | C++ |
1] C is a procedural [structural] programming language. | 1] C++ is a procedural also an object oriented programming language. |
2] C supports only built-in data types. | 2] C++ supports both built-in and user defined data types. |
3] Multiple declaration of global variables are allowed but variables must have to be defined at the beginning in the function. | 3] Multiple declaration of global variables are not allowed but variables can be defined anywhere in the function. |
4] No virtual Functions are present in C. | 4] The concept of virtual Functions are used in C++. |
5] C follows top-down approach. | 5] C++ follows bottom-up approach. |
6] Operator over-loading isn’t possible in C. | 6] C++ allows operator over-loading. |
7] Name space feature isn’t there in C Programming language. | 7] Name space feature is used in C++ to avoid name collision. |
8] Here,scanf() Function is used for input.
Printf() Function is used for output. |
8] Here, Cin>> Function is used for input.
Cout<< Function is used for output. |
9] malloc() and calloc() Function is used for memory allocation.
free() Function is used for memory de-allocation. |
9] new operator is used for memory allocation.
free operator is used for memory de-allocation. |
10] In C, Polymorphism is not possible. | 10] In C++, Polymorphism is used, as Polymorphism is the important feature of OOPS. |
11] In C, inheritance is not possible. | 11] In C++, inheritance is possible. |
12] Exception handling is not present. | 12] Try and Catch block is used for Exception handling. |
13] Mapping between data & functions is difficult in C. | 13] Data & functions are easily mapped through “objects”. |
14] C is a mid-level programming language. | 14] C++ is a high-level programming language. |
We have also included a video below which clearly mentions the difference between C and C++ programming.
Conclusion
Hope now you would know really well the difference between C and C++. If you have any suggestion or any queries please comment below in the comment box.
In my humble opinioin, there is no ‘free’ operator in C++, instead, it uses ‘delete’.
There is no ‘free’ keyword in C++. It must be ‘delete’.
So far, there is no ‘free’ operator and ‘free’ keyword in C! It`s a fuction & it exists in both — C++ and C.
Do you use free in C++? I use delete and delete[].
Classes, user-types, inheritence, polimorphism is because of the same reason. There could be in the same row.
C: “variables must have to be defined at the beginning in the function.”
That’s just not true anymore.
This is not correct.
#2 is wrong. C supports user defined types with “typedef. ” #10 is also wrong. Polymorphism can be done in C with function pointers and sometimes lookup tables.
#13 is an opinion, not a fact.