Unterschied zwischen C und C ++ mit Beispielen | Programmiersprachen

Hauptunterschied: C und C ++ sind zwei verschiedene Programmiersprachen. C ++ wurde aus der Programmiersprache C entwickelt. Sie sind jedoch recht unterschiedlich. Der offensichtlichste Unterschied ist, dass C eine prozedurorientierte Sprache ist, während C ++ sowohl die prozedurale als auch die objektorientierte Programmierung unterstützt. Daher wird C ++ oft als Hybridsprache bezeichnet.

C und C ++ sind zwei verschiedene Programmiersprachen. C wurde ursprünglich von Dennis Ritchie in den AT & T Bell Labs zwischen 1969 und 1973 entwickelt. C ++ ist eine weitere universelle Programmiersprache. Es wurde aus der ursprünglichen Programmiersprache C entwickelt. Es wurde 1979 von Bjarne Stroustrup in den Bell Labs entwickelt. C ++ wurde ursprünglich C mit Classes genannt, da es auf C basierte. Es wurde 1983 in C ++ umbenannt.

C ist eine der ältesten derzeit verwendeten Programmiersprachen und eine der am häufigsten verwendeten Programmiersprachen. Es wurde ständig in Anwendungen verwendet, die zuvor in Assemblersprache codiert waren. Dies umfasst das Betriebssystem des UNIX-Computers. C hat auch direkt oder indirekt viele spätere Programmiersprachen beeinflusst, wie C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python und die C-Shell von Unix. Trotz all dieser neuen Sprachen bleibt C immer noch eine beliebte Programmiersprache.

Ursprünglich war C ++ eine Erweiterung von C. Es wurde entwickelt, um Source-and-Link-kompatibel zu C zu sein. Es wurden jedoch Klassen, virtuelle Funktionen, Überladen von Operatoren, Mehrfachvererbung, Vorlagen, Ausnahmebehandlung usw. hinzugefügt. Schließlich wurde es entwickelt genug, um als eigenständige Programmiersprache betrachtet zu werden. Es wurde ursprünglich 1998 als ISO / IEC 14882: 1998 zertifizierte Programmiersprache ratifiziert. Heute wird C ++ heute häufig für das Hardware-Design verwendet.

C ist eine universelle Programmiersprache, die Semikolon (;) als Anweisungsabschlusszeichen sowie geschweifte Klammern ({}) zum Gruppieren von Anweisungsblöcken verwendet. Es verfügt über Möglichkeiten zur strukturierten Programmierung und bietet Konstrukte, die typische Maschinenanweisungen effizient abbilden können. Sie ermöglicht auch den Umfang und die Rekursion von lexikalischen Variablen und verfügt über ein statisches Typsystem, das viele unbeabsichtigte Operationen verhindert.

Im Vergleich zu C ++ hat C jedoch zahlreiche Einschränkungen. Da C nicht objektorientiert ist, werden keine OOPS-Konzepte unterstützt. C unterstützt keine Funktions- und Operatorüberladung. Funktionen innerhalb von Strukturen können nicht verwendet werden. Es unterstützt keine virtuellen Funktionen und Referenzvariablen oder Ausnahmebehandlung. Es unterstützt auch keine Referenzvariablen. Außerdem kapselt C auch keine Datensicherung. Im Vergleich dazu unterstützt C ++ alle diese Funktionen.

Darüber hinaus unterstützt C keine NAMESPACE-Funktion, wohingegen C ++ dies tut. Ein Namespace ist eine definitive Region, in der Bezeichner (die Namen von Typen, Funktionen, Variablen usw.) gruppiert werden können. Namespaces können dann verwendet werden, um Code in logischen Gruppen zu organisieren und Namenskollisionen zu verhindern. Dies ist besonders hilfreich, wenn die Codebasis mehrere Bibliotheken enthält, wodurch der Code idealerweise für Namenskollisionen anfällig ist.

Die beiden Sprachen unterscheiden sich auch in der Art der Adressspeicherfunktionen, der Eingabe / Ausgabe und der GUI-Programmierung. Zum Beispiel verwendet C die Funktionen calloc (), malloc () und free (), um Speicher zuzuweisen und die Zuweisung aufzuheben, während C ++ die Funktionen new und delete verwendet. C verwendet scanf () und printf () für Eingabe und Ausgabe, während C ++ die Operatoren cin >> und cout << verwendet. C unterstützt das GTK-Tool für die GUI-Programmierung, während C ++ Qt-Tools für die GUI-Programmierung unterstützt. Ein weiterer Unterschied besteht darin, dass C alle Variablen oben im Programm deklarieren muss, während in C ++ die Variablen an einer beliebigen Stelle im Programm deklariert werden können.

Darüber hinaus gilt C ++ normalerweise als leichter zu erlernen, da es benutzerfreundlicher als C ist. C ++ verfügt außerdem über zahlreiche zusätzliche Funktionen, die die Codierung erleichtern, insbesondere für jemanden, der mit dem C-Framework noch nicht vertraut ist. Viele behaupten jedoch, dass es tatsächlich wichtig ist. Die zwei Sprachen unterscheiden sich so sehr, dass sie tatsächlich zwei voneinander unabhängige Sprachen sein können. Dabei ist zu beachten, dass C wesentlich strukturierter ist als C ++, wohingegen C ++ aussagekräftiger und abstrakter als C konzipiert wurde.

Vergleich zwischen C und C ++:

C

C ++

Gegründet

Entwickelt von Dennis Ritchie in den AT & T Bell Labs zwischen 1969 und 1973.

Entwickelt von Bjarne Stroustrup ab Bell Labs ab 1979.

Quellcode

Freiformat-Programmquellcode

Ursprünglich aus der Programmiersprache C entwickelt

Sprache

Verfahrensorientierte Sprache

Unterstützt sowohl prozedurale als auch objektorientierte Programmierparadigmen; Daher wird sie oft als Hybridsprache bezeichnet.

Ansatz

Folgt dem Ansatz von oben nach unten.

Folgt von unten nach oben.

Beziehung

C ist eine Teilmenge von C ++. Es kann kein C ++ - Code ausgeführt werden.

C ++ ist eine Obermenge von C. C ++ kann den Großteil des C-Codes ausführen, während C C ++ - Code nicht ausführen kann.

Fahrt

Funktionsgesteuerte Sprache

Objektgesteuerte Sprache

Fokus

Konzentriert sich auf die Methode oder den Prozess anstatt auf Daten.

Konzentriert sich auf Daten und nicht auf Methode oder Verfahren.

Bausteine

Funktionen

Objekte

Schlüsselwörter

Enthält 32 Schlüsselwörter

Enthält 52 Schlüsselwörter

OOPS-Konzepte

Da die C-Sprache eine prozedurorientierte Sprache ist, unterstützt sie keine OOPS-Konzepte wie Klasse, Objekt, Vererbung, Polymorphismus, Datenverstecken usw.

Als objektorientierte Sprache unterstützt C ++ das Ausblenden von Klassen, Objekten, Daten, Polymorphismus, Vererbung, Abstraktion usw.

Funktionen

  • Unterstützt keine Überladung von Funktionen und Operatoren.
  • Funktionen können nicht in Strukturen verwendet werden
  • Unterstützt keine virtuellen Funktionen und Referenzvariablen
  • Unterstützt keine Ausnahmebehandlung
  • unterstützt keine Referenzvariablen
  • hat kein Namespace-Feature
  • kann main () - Funktion über andere Funktionen aufrufen
  • Unterstützt das Überladen von Funktionen und Bedienern.
  • Kann Funktionen innerhalb von Strukturen verwenden
  • Unterstützt virtuelle Funktionen und Referenzvariablen.
  • Unterstützt die Ausnahmebehandlung mit try und catch block. Ausnahmen werden für "harte" Fehler verwendet, die den Code falsch machen.
  • unterstützt Referenzvariablen
  • verwendet die NAMESPACE-Funktion, um Namenskollisionen zu vermeiden.
  • main () -Funktion kann nicht über andere Funktionen aufgerufen werden.

Speicherfunktionen

Verwendet die Funktionen calloc (), malloc () und free (), um Speicher zuzuweisen und die Speicherzuordnung aufzuheben.

Verwendet Operatoren new und delete zum selben Zweck.

Verkapselung

Unterstützt nicht. Daten und Funktionen sind separate und freie Entitäten.

Unterstützt die Kapselung. Daten und Funktionen werden in Form eines Objekts zusammengekapselt. Die Objektklasse stellt einen Entwurf der Struktur des Objekts bereit.

Informationen verstecken

C unterstützt kein Verstecken von Informationen. Hier sind Daten freie Entitäten und können durch Fremdcode manipuliert werden.

Die Kapselung verbirgt die Daten, um sicherzustellen, dass Datenstrukturen und Operatoren bestimmungsgemäß verwendet werden.

Daten

Unterstützt integrierte und primitive Datentypen.

Daten werden nicht gesichert, weil sie nicht objektorientiert sind

Unterstützt sowohl integrierte als auch benutzerdefinierte Datentypen.

Daten werden in C ++ gesichert (verborgen)

Niveau

Low-Level-Sprache

Sprache der mittleren Ebene

Input-Output

Die Sprache 'C' verwendet scanf () und printf () für die Eingabe und Ausgabe.

Die Sprache C ++ verwendet die Operatoren cin >> und cout << für die Eingabe und Ausgabe.

Deklaration von Variablen

C erfordert, dass alle Variablen oben im Programm deklariert werden.

In C ++ können die Variablen vor der Verwendung an einer beliebigen Stelle im Programm deklariert werden.

Mehrfacherklärung

Mehrfachde Deklaration globaler Variablen ist erlaubt.

Die Mehrfachdeklaration globaler Variablen ist nicht zulässig.

Kartierung

Die Zuordnung zwischen Daten und Funktionen ist schwierig und kompliziert.

Zuordnung zwischen Daten und Funktion kann über "Objekte" verwendet werden

GUI-Programmierung

C unterstützt das GTK-Tool für die GUI-Programmierung

C ++ unterstützt Qt-Tools für die GUI-Programmierung

Erbe

Vererbung ist in C nicht möglich

Vererbung ist in C ++ möglich

Dateierweiterung

Hat die Dateiendung .c

Hat die Dateiendung .cpp

Standardheaderdatei

Die in C-Sprache verwendete Standardheaderdatei ist stdio.h

Die in C ++ verwendete Standardheaderdatei ist iosteam.h

Einige Beispiele für den Unterschied zwischen C und C ++:

Beispiele

C

C ++

Variable Aussage

Nur an der Spitze:

int i;

für (i = 10; i <10; i ++)

Überall im Programm:

für (int i = 10; i <10; i ++)

Speicherzuweisung

Malloc:

int * x = Malloc (sizeof (int));

int * x_array = malloc (sizeof (int) * 10);

Neu:

int * x = neues int;

int * x_array = new int [10];

Speicher freigeben

Kostenlos:

frei (x);

frei (x_array);

Löschen:

x löschen;

delete [] x_array;

Empfohlen

In Verbindung Stehende Artikel

  • beliebte Vergleiche: Unterschied zwischen PDF und PMF

    Unterschied zwischen PDF und PMF

    Der Hauptunterschied: PDF (Portable Document Format) und PMF (am häufigsten für von ESRI veröffentlichte Kartendateien verwendet) sind fortgeschrittene Dateiformate. Dies ermöglicht es den Benutzern, die elektronischen Dokumente im Internet im Offline- oder Online-Modus anzuzeigen und zu lesen. Die PDF-Dateien werden von Adobe Systems definiert, während PMF-Dateien von ArcGIS Publisher erstellt und definiert werden, einer Erweiterung, die in ArcMap enthalten ist. Die
  • beliebte Vergleiche: Unterschied zwischen Interessen und Hobbys

    Unterschied zwischen Interessen und Hobbys

    Hauptunterschied: Interesse bezieht sich auf Gefühl. Hobby bezieht sich auf Handlung. Laut Dictionary.com ist ein Interesse das Gefühl einer Person, deren Aufmerksamkeit, Sorge oder Neugier besonders mit etwas oder etwas beschäftigt ist, das die Person interessiert, die Aufmerksamkeit auf sich zieht oder die Neugier einer Person weckt. G
  • beliebte Vergleiche: Unterschied zwischen Nokia Lumia 925 und Nokia Lumia 920

    Unterschied zwischen Nokia Lumia 925 und Nokia Lumia 920

    Hauptunterschied: Nokia hat kürzlich sein neues Flaggschiff Nokia Lumia 925 angekündigt. Das Mobiltelefon ist mit einem 4, 5-Zoll-AMOLED-Touchscreen ausgestattet, der auf der Vorderseite einen guten Platz einnimmt. Der Lautsprecher und die Sensoren befinden sich oben. Der 4, 5 Zoll große kapazitive Bildschirm verfügt über die gleiche PureMotion HD +, ClearBlack, die auch in Lumia 920 zu finden ist. Ein
  • beliebte Vergleiche: Unterschied zwischen Äquator und Polen

    Unterschied zwischen Äquator und Polen

    Schlüsseldifferenz: Der Äquator ist der Punkt, von dem aus die Breite berechnet wird. Mit anderen Worten ist es die 0 ° -Linienlinie. Ein Pol besteht aus zwei Punkten: Nordpol und Südpol. Der Nordpol liegt 90 ° nördlich des Äquators und der Südpol 90 ° südlich des Äquators. Der Äquator ist der Punkt, von dem aus der Breitengrad berechnet wird. Mit andere
  • beliebte Vergleiche: Unterschied zwischen Gehalt und Stipendium

    Unterschied zwischen Gehalt und Stipendium

    Hauptunterschied: Ein Gehalt ist die Zahlung oder Vergütung, die man als Gegenleistung für geleistete Arbeit und / oder Dienstleistungen erhält. Ein Stipendium wird in der Regel während der Dauer eines Praktikums oder einer Ausbildung gezahlt. Es unterscheidet sich von einem Gehalt, da es nicht als Entgelt für geleistete Arbeit gezahlt wird. Ein
  • beliebte Vergleiche: Unterschied zwischen Nordamerika und den USA

    Unterschied zwischen Nordamerika und den USA

    Hauptunterschied: Nordamerika ist ein Kontinent, der in der nördlichen Hemisphäre und in der westlichen Hemisphäre existiert. Zeitweise wird es auch als Subkontinent Amerikas betrachtet. USA, auch als Vereinigte Staaten von Amerika, Vereinigte Staaten oder nur als Amerika bezeichnet, sind ein Land in Nordamerika. O
  • beliebte Vergleiche: Unterschied zwischen Lieferant und Händler

    Unterschied zwischen Lieferant und Händler

    Hauptunterschied: Der Lieferant liefert die Waren oder Dienstleistungen, während ein Händler das Produkt direkt an den Kunden oder den Endverbraucher weiterverkauft. Ein Lieferant ist einer, der die Produkte, Waren oder Dienstleistungen an den Verbraucher liefert. Aus geschäftlicher Sicht handelt es sich dabei um eine Partei, die Waren oder Dienstleistungen liefert, und die von einem Auftragnehmer oder Unterauftragnehmer unterschieden werden kann, der den Liefergegenständen üblicherweise spezielle Leistungen hinzufügt. Sie
  • beliebte Vergleiche: Unterschied zwischen Gesteinen und Mineralien

    Unterschied zwischen Gesteinen und Mineralien

    Hauptunterschied : Gesteine ​​werden aus Mineralien oder Mineroiden gebildet, die sich zu einem erstarren lassen. Ein Gestein könnte aus einem oder mehreren Mineralien bestehen. Mineralien sind homogene Feststoffe mit regelmäßigen Strukturen, die in Gesteinen, Erzen und Mineralien in der Erdkruste vorkommen. Fast
  • beliebte Vergleiche: Unterschied zwischen Apache und Httpd

    Unterschied zwischen Apache und Httpd

    Hauptunterschied: Apache bezieht sich auf den Apache http-Server, der von der Apache Software Foundation entwickelt wurde. Es handelt sich um eine Open Source und kostenlose Server. Httpd steht für Hypertext Transfer Protocol Daemon. In Bezug auf Apache bezieht sich httpd auf das HTTP-Serverprogramm (Apache HyperText Transfer Protocol), das die Anforderungen verarbeitet.

Tipp Der Redaktion

Unterschied zwischen Pixel und Auflösung

Hauptunterschied: Pixel sind eine grundlegende Maßeinheit in Computerbildern. Sie erstellen gemeinsam Bilder, die auf einer digitalen Bildschirmanzeige sichtbar sind. Auflösung ist der Begriff, der verwendet wird, um die Schärfe und die Details eines Bildes zu beschreiben. In der Optik wird dies meistens als die Fähigkeit eines Abbildungssystems beschrieben, Details in dem Objekt, das abgebildet wird, aufzulösen. Pix