We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 4
‘979724, 6:45 PM Difarance between C and C++ - GaeksforGeeks
OG
C+ Data Types C++ Input/Output Ct+ Arrays Ct+Pointers C++ OOPs CH+STL C++ Interview Questions
Last Updated : 07 May, 2024
| Similarities between Cand C= are:
\& Both the languages have a similar syntax
\¥ Code structure of both the languages are same.
\y The compilation of both the languages is similar.
~\ They share the same basic syntax. Nearly all of C’s operators and keywords
are also present in C++ and do the same thing.
Ay C++ has a slightly extended grammar than C, but the basic grammar is the
same.
\y Basic memory model of both is very close to the hardware.
\o/Same notions of stack, heap, file-scope and static variables are present in
both the languages
C vs. C++
Differences between C and C++ are:
C++ is often viewed as a superset of C. C++ is also known as a “C with class”
This was very nearly true when C++ was originally created, but the two
languages have evolved over time with C picking up a number of features that
either weren't found in the contemporary version of C++ or still haven't made it
into any version of C++. That said, C++ is still mostly a superset of C adding
Object-Oriented Programming, Exception Handling, Templating, and a more
extensive standard library.
Intps:ihwww.gookstorgooksorgierence-betweer-c-and-c/ref=lop sno9724, 945 PM Difrance batweon Cand C++ - GeeksforGooks
Below is a table of some of the more obvious and general differences between
Cand C++. There are many more subtle differences between the languages
and between versions of the languages.
JV C was developed by Dennis Ritchie
between the year 1969 and 1973 at
AT&T Bell Labs.
C does no support polymorphism,
S encapsulation, and inheritance which
means that C does not support object
oriented programming,
ve Cis (mostly) a subset of C++
Number of keywords in C:
* C90: 32
* C99: 37
"C11 44
* C23: 59
Vv
For the development of code, C
supports procedural programming.
YY
Data and functions are separated in C
because it is a procedural
programming language.
\£€ does not support information hiding,
Intps:ihwww.gookstorgooksorgierence-betweer-c-and-c/ref=lop
v
C++ was developed by Bjarne
Stroustrup in 1979.
C++ supports polymorphism,
encapsulation, and inheritance because
itis an object oriented programming
language.
C++ is (mostly) a superset of C.
Number of keywords in C++:
* C4498: 63
*CH+11: 73
* CHH17: 73
*C++#20: 81
C++ is known as hybrid language
Voecause C++ supports both procedural
and object oriented programming
paradigms.
Data and functions are encapsulated
together in form of an object in C++.
Data is hidden by the Encapsulation to
ensure that data structures and
operators are used as intended.
20‘979724, 6:45 PM
c
uit in data types is supported in C.
Cis a function driven language
because C is a procedural
programming language.
Le Function and operator overloading is
not supported in C.
\% Cisa function-driven language
Functions in C are not defined inside
\Y%
(YZ Namespace features are not present
inside the C.
structures.
Standard 10 header is stdio.h.
v
Vv Reference variables are not supported
by
Virtual and friend functions are not
we
supported by C.
C does not support inheritance.
Instead of focusing on data, C focuses
‘on method or process.
C provides malloc() and caltoc()
functions for dynamic memory
allocation, and free() for memory de-
Vv
allocation.
ntps:ihwwn gookstorgooks.orgiferent
betwoer-c-and-e/refslop
Difarance between C and C++ - GaeksforGeeks
CH
Built-in & user-defined data types is
supported in C++
C++ is an object driven language
because it is an object oriented
programming,
Function and operator overloading is
supported by C++.
C++ is an object-driven language
Functions can be used inside a structure
in Ces,
Namespace is used by C++, which avoid
name collisions.
Standard 10 header is iostream.h.
Reference variables are supported by
CH,
Virtual and friend functions are
supported by C++.
C++ supports inheritance.
C++ focuses on data instead of focusing
‘on method or procedure.
C++ provides new operator for memory
allocation and delete operator for
‘ memory de-allocation.
3it0‘979724, 6:45 PM
c
Direct support for exception handling
\ is not supported by C.
scanfl) and printf() functions are used
for input/output in C.
C structures don't have access
Ve '
modifiers.
There is no strict type checking in C
y programming language.
C does not support overloading
Type punning with unions is allows
v {C99 and later)
Named initializers may appear out of
order
V File extension is
Meta-programming: macros +
-Generic()
v
\ A There are 32 keywords in the C
ntps:ihwwn gookstorgooks.orgiferent
betwoer-c-and-e/refslop
Difarance between C and C++ - GaeksforGeeks
CH
Exception handling is supported by C++.
cin and cout are used for input/output in
ferns
C ++ structures have access modifiers.
Strict type checking in done in C++. So
many programs that run well in C
compiler will result in many warnings
and errors under C++ compiler.
C++ does support overloading
Type punning with unions is undefined
behavior (except in very specific
circumstances)
Named initializers must match the data
layout of the struct
File extension is “cpp”
or “xx
Meta-programming; templates (macros
are still supported but discouraged)
There are 97 keywords in the C++
40