C vs. C++: Unterschiede und Ähnlichkeiten

C ist die Grundlage für C++. Während C++ häufiger für Desktop-Apps und Spiele verwendet wird, ist es eine ausgezeichnete Option, um mit C zu beginnen, insbesondere wenn Sie neu in der Softwarewelt sind. Lesen Sie weiter, um zu erfahren, warum.

Was ist C?

C ist eine höhere strukturelle Programmiersprache. In C geschriebene Programme sind portabel. C ist auch heute noch eine der Top-Programmiersprachen, weil es robust ist. Es wird für komplexe Programme wie eingebettete Systeme, Treiber, Kernel, Systemanwendungen, Betriebssysteme wie Microsoft Windows, Apple OS X, Datenbanken wie MySQL und einige IoT-Anwendungen verwendet.

C ist eine kompilierte Sprache und stellt somit eine Abstraktionsebene zwischen dem Maschinencode und dem Programm bereit.

Ein einfaches C-Programm zum Addieren zweier Zahlen sieht so aus.

#include<stdio.h>
int main()
{
int a, b, sum;
printf("Enter two numbers to add: ");
scanf("%d%d", &a, &b);
sum = a + b;
printf("nSum of %d and %d is %d", a, b, sum);
return 0;
}

Hier ist die Ausgabe:

Ausgabe des Beispiel-C-Programms

C-Programme enthalten stdio.h – die Standard-Eingabeausgabe.

STDIO bietet grundlegende Eingabe-Ausgabe-Funktionen wie printf und scanf. printf wird verwendet, um etwas (Nachricht, Ausgabe) auf der Konsole auszugeben, während scanf verwendet wird, um Eingaben von der Konsole entgegenzunehmen. Wir verwenden %d, um anzuzeigen, dass die Zahlen ganze Zahlen sind.

Wenn Sie Dezimalzahlen angeben, erhalten Sie einige seltsame Antworten. Um dies zu vermeiden, können Sie %f verwenden. Die Funktion main() ist die erste Funktion, die ausgeführt wird, wenn das Programm läuft. Die Syntax ist sehr einfach – deklarieren Sie die Variablentypen und verwenden Sie sie dann.

Was ist C++?

C++ basiert auf objektorientierten Programmierprinzipien wie Abstraktion, Polymorphie, Vererbung und Kapselung. Sie können sich C++ als eine Erweiterung von C mit dem Konzept von Klassen und Objekten vorstellen.

Das Vorhandensein von Objekten zum Speichern von Daten gab den Programmen eine ordentliche Struktur. Wenn Sie beispielsweise Details eines Schülers speichern möchten, können Sie eine Schülerklasse erstellen und Attribute wie Name, Alter, Hobbys, Noten usw. unter der Klasse erstellen. Sie können jederzeit ein echtes Studentenobjekt erstellen!

class Student {
public: 
char name[20];
int age;
float marks;
};

//This will create an object
Student student1 = new Student();

In Wirklichkeit wird das Objekt nur während der Laufzeit erstellt und Speicher zugewiesen.

  Was sind die orangefarbenen und grünen Punkte auf einem iPhone oder iPad?

C++ bietet eine hohe Leistung, weshalb es auch heute noch die beliebteste Wahl für die Entwicklung von Hochleistungs-Game-Engines, eingebetteten Systemen, Browsern, Compilern und grafikbasierten Anwendungen wie Bildverarbeitung ist.

Nur wenige Datenbanken wie MongoDB sind in C++ geschrieben. Genau wie C ist C++ portabel.

Lassen Sie uns unser vorheriges Additionsprogramm in C++ schreiben – beachten Sie die verschiedenen Funktionen.

#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "Enter the numbers: "; 
cin >> a >> b;
int sum = a + b;
cout << a << " + " << b << " = " << sum;
return 0;
}

Beachten Sie, dass wir cout und cin anstelle von printf und scanf verwenden. Außerdem können Typdeklarationen an beliebiger Stelle im Programm vorgenommen werden, bevor die Variable verwendet wird (z. B. die Variablensumme). Die Druckanweisung ist ganz einfach, da sie nur die Variablennamen enthält. Beachten Sie, dass wir den Namespace std aus dem iostream-Header verwenden. std hat Methoden wie cout, in und viele mehr.

Ähnlichkeiten zwischen C und C++

Man kann sagen, dass C eine Teilmenge von C++ ist. Es gibt viele Ähnlichkeiten zwischen C und C++, sei es in der Art und Weise, wie Programme geschrieben werden, oder in den Anwendungen, für die sie verwendet werden. Beide sind robust, tragbar und hochleistungsfähig. Einige wichtige Gemeinsamkeiten sind:

Sno.FeatureExplanation1.SyntaxBeide haben dieselbe Syntax, z. B. Variablendeklaration, Zeilenende-Semikolon, Namenskonventionen usw.2.Strukturell und prozeduralJede Codezeile wird einzeln ausgeführt. Die Programme sind wie folgt aufgebaut – zuerst die Importe, dann die Variablendeklarationen und dann der Hauptcode. 3. Main()-Funktion Der gesamte auszuführende Code sollte sich innerhalb der main()-Funktion befinden. main() ist der erste Funktionsaufruf während der Programmausführung.4.Zeiger Sowohl C als auch C++ verwenden Zeiger auf die gleiche Weise. Ein Zeiger ist eine Variable, die die Speicheradresse einer anderen Variablen speichert. Beispiel: int a = 1;. Sobald dieser Code ausgeführt wird, wird ein Speicher (z. B. XX0011) für a zugewiesen. Auf den Speicherort von ‚a‘ kann zugegriffen werden, indem das kaufmännische Und (&) als int ptr_a = &a;5 verwendet wird. Schlüsselwörter und Operatoren Alle in C vorhandenen Schlüsselwörter und Operatoren gelten auch für C++. Zum Beispiel Scope, Static, Public, Int usw. C++ hat auch zusätzliche Operatoren und Schlüsselwörter. Ähnlichkeiten zwischen C und C++

  So beheben Sie das Blockieren von Outlook-Anmeldeversuchen durch Google Mail

Unterschiede zwischen C und C++

C++ wurde entwickelt, um einige der Mängel von C zu überwinden und ist eine Obermenge von C. Jedes in C geschriebene Programm funktioniert also in C++ – aber nicht umgekehrt! Der Hauptunterschied zwischen C und C++ besteht darin, dass C++ auf objektorientierten Prinzipien (OOP) der Programmierung basiert. Außerdem wird in C++ mehr Wert auf die Typprüfung gelegt. Es gibt auch ein paar subtilere Unterschiede, die unten aufgeführt sind:

CC++ wurde zwischen 1969-1973 von Dennis Ritchie in den AT&T Bell Labs entwickelt. 1979 von Bjarne Stroustrup entwickelt , switch, int, static, union und andere Alle C-Schlüsselwörter sind in C++ gültig, und 31 zusätzliche Schlüsselwörter sind ebenfalls vorhanden. Unterstützt nur prozedurale Programmierung C++ unterstützt mehrere Programmierparadigmen, wie OOP, generische und funktionale Programmierung Wir können keine Funktionen von OOP in C implementieren .Features wie Freunde, virtuelle Funktionen in C++ verbessern die Essenz von OOP.C unterstützt eingebaute Datentypen.C++ unterstützt sowohl eingebaute als auch benutzerdefinierte Datentypen durch das Konzept von KlassenEs gibt Vorkehrungen für das Überladen von Operatoren oder Funktionen.C++ unterstützt beide Operatoren und Funktionsüberladung (Polymorphismus) Die Speicherzuweisung erfolgt über die Funktionen malloc() und calloc() und die Aufhebung der Zuweisung mit free()Speicherzuweisung happ ens mit new-Operator und Aufhebung der Zuordnung mit delete-OperatorC unterstützt keine AusnahmebehandlungUnterstützt die AusnahmebehandlungKonzentriert sich mehr auf die Prozedur oder Methode als auf DatenKonzentriert sich stärker auf DatenUnterschiede zwischen C und C++

  So erhalten Sie einen QR-Code für Ihr LinkedIn-Profil

Einige andere wichtige Funktionen, die nur in C++ vorhanden sind, sind:

  • Mit dem Schlüsselwort Namespace können wir Variablen mit demselben Namen in verschiedenen Namespaces erstellen.
  • Wir können Funktionen innerhalb einer Struktur verwenden. Strukturen können auch Zugriffsmodifikatoren haben.
  • Unterstützt Referenzvariablen.

Wann C oder C++ verwendet werden sollte

Dies ist eine sehr häufige Debatte unter Programmierern – warum sollte ich C lernen, wenn ich alles in C++ machen kann?

Das Erlernen von C gibt Ihnen eine solide Grundlage für Datenstrukturen, Zeiger, Schlüsselwörter, Konzepte von Stack, Heap und Speicherzuweisung.

Abgesehen davon wird C immer noch häufig für Hochleistungs-Apps verwendet, da der C-Compiler schneller ist als der C++-Compiler. Wenn Sie also Codeblöcke schreiben möchten, die keine Objekte und Klassen, virtuellen Funktionen oder Vorlagen benötigen, entscheiden Sie sich für C, da C++ mit seinen umfangreichen Bibliotheken möglicherweise übertrieben ist.

Die meisten Low-Level-Codes wie Kernel, Betriebssysteme und Datenbanken werden immer noch in C verwaltet, sodass C-Kenntnisse Ihnen auch helfen werden, C++ schneller zu lernen.

C++ gilt als eine der schnellsten und effizientesten Sprachen – weshalb es immer noch eine der Top-Programmiersprachen ist, insbesondere für Hochleistungsanwendungen wie Spiele-Engines, IoT-Geräte und Desktop-Apps. Viele Anwendungen verwenden eine Kombination aus C- und C++-Code – um eine optimale Leistung zu erzielen und die Vorteile der objektorientierten Programmierung zu nutzen.

Zusammenfassung

In diesem Artikel haben wir die Grundlagen von C und C++ anhand eines einfachen Beispielprogramms gelernt. Wir haben die Hauptunterschiede und Ähnlichkeiten zwischen beiden Sprachen besprochen und wann sie verwendet werden sollten.

Wenn Sie Ihre Softwareentwicklungsreise gerade erst beginnen, wird Ihnen der Einstieg in C einen Vertrauensschub geben, da es einfach ist und alle Programmierkonzepte wie Datenstrukturen, Zeiger, Speicher usw. abdeckt.

Möglicherweise interessieren Sie sich für die Verwendung des Online-C-Compilers und des C++-Compilers von wdzwdz.