2D -Array C ++ löschen

2D -Array C ++ löschen
Ein zweidimensionales Array könnte auf zwei verschiedene Arten konstruiert werden: mit regelmäßigem Speicher oder freiem Speicher. Wenn ein Programm ausgeführt wird, hat es Zugriff auf den üblichen Speicher und zusätzlichen Speicher. Der Code ist nicht gezwungen, den freien Speicher zu verwenden, der zusätzlichen Speicher ist. Im regulären Speicher generiert das Programm ein zweidimensionales Standard-Array. Wenn das Programm beabsichtigt, dasselbe zweidimensionale Array im freien Speicher zu konstruieren, kann es dynamisch tun.

In jedem Speichertyp variiert die Methode zur Definition eines zweidimensionalen Arrays. Lassen Sie einfach ein normales zweidimensionales Array aus dem Bereich ausgehen, um es zu löschen. Verwenden Sie den Operator löschen [] effektiv, um ein zweidimensionales Array zu löschen, das in der freien Bibliothek generiert wird. Lassen Sie uns diskutieren, wie Sie ein zweidimensionales Array in C ++ löschen:

Löschen Sie ein zweidimensionales einfaches Array

Damit ein zweidimensionales normales Array außerhalb des Reichweite löschen muss. Durch eine verschachtelte Domäne zeigt das Programm Folgendes an:

#enthalten
Verwenden von Namespace STD;
int main ()

if (1 == 1)
String arr2d [] [4] = "zz", "zy", "zx", "zw",
"Mm", "ml", "mk", "mj",
"Ii", "ih", "ig", "wenn",
"Pp", "po", "pn", "pm";
Cout<< arr2D[1][1] <
Rückkehr 0;

Zuerst müssen wir die Header -Datei vorstellen . Wir deklarieren ein zweidimensionales Array und geben die Elemente dieses Arrays an. Die Anweisung "Cout" wird auf die erste Zeile und die erste Spalte angewendet. Also erhalten wir das Element in der ersten Zeile und in der ersten Spalte. Davon abgesehen werden alle Elemente gelöscht. Wir beenden das Programm, indem wir den Befehl 'return 0' eingeben.

'ML' ist das Ergebnis nach dem Ausführen des obigen Code. Der verschachtelte Kontext ist ein Abschnitt im If-Construct. Am Ende des Abschnitts ist das Array nicht mehr gültig. Unter dem Funktionsenteil im Code gab es eine Bemerkung. Das Programm würde nicht kompilieren, wenn es beseitigt würde, und es kann eine Fehlerbenachrichtigung angezeigt werden.

Das im Körper der Funktion angegebene Standard-Zweidimensionalarray endet nach dem Funktionsaufruf im folgenden Code:

#enthalten
Verwenden von Namespace STD;
void fn ()

String arr2d [] [4] = "zz", "zy", "zx", "zw",
"Pp", "po", "pn", "pm",
"Ii", "ih", "ig", "wenn",
"Mm", "ml", "mk", "mj";
Cout<< arr2D[1][1] <
int main ()

fn ();
Rückkehr 0;

Zu Beginn des Programms schließen wir die Header -Datei ein . Der Standard -Namespace wird verwendet. Wir nennen die void fn (). Hier definieren wir die Elemente des zweidimensionalen Arrays. Wir verwenden die Anweisung "Cout", um das erforderliche Element des definierten Arrays zu erhalten.

Nach all dem wenden wir die main () -Funktion an. Im Körper dieser Funktion deklarieren wir FN (). Am Ende wird der Befehl 'return 0' verwendet.

Auf globaler Ebene zuzuweisen, dass eine zweidimensionale Komponente einen Wert zugewiesen hat, bevor die Deklaration nicht zulässig ist.

Löschen Sie ein dynamisch konstruiertes zweidimensionales freies Speicherzeiger-Array

Auf größerer Ebene wäre die Zuweisung vor der Erklärung nicht erforderlich. Es ist nützlich, eine zweidimensionale Array-Definition in einer verschachtelten Domäne in der C ++-Primärfunktion für pädagogische Zwecke zu haben. Der Ausdruck "Delete [] 2-dimensionales Array" wird verwendet, um ein 2-D-Array zu löschen, das im Programm angegeben wurde. Diese Löschung muss in seiner Domäne auftreten, um den Speicher zu lindern und den Speicherüberlauf zu verringern. Durch einen verschachtelten Bereich veranschaulicht das nachfolgende Programm Folgendes:

#enthalten
Verwenden von Namespace STD;
int main ()

if (1 == 1)
String (*ptr2d) [5] = neuer String [5] [5] "Zz", "Zy", "ZX", "ZW",
"Pp", "po", "pn", "pm",
"Ii", "ih", "ig", "wenn",
"Mm", "ml", "mk", "mj",
"Ea", "eb", "ec", "ed", "ee";
Cout<< ptr2D[0][0] <löschen [] ptr2d;
Cout<< ptr2D[0][0] <
Rückkehr 0;

Nach Einbeziehung der Bibliothek wird der Standard -Namespace verwendet. Die main () -Funktion wird nun deklariert. Wenn der Zustand erreicht ist. Der Zeiger des 2D -Arrays ist konstruiert. Danach definieren wir ein zweidimensionales Array und geben seine Elemente an. Bei Nullzeilen und Nullspalten wird die Anweisung "Cout" verwendet. Die Löschtechnik wird angewendet. Wir haben die Anweisung "Cout" noch einmal verwendet, nachdem wir sie gelöscht haben. Wir beenden das Programm, indem wir den Befehl 'return 0' ausführen.

Nach dem Löschen der Elemente des Arrays kehrt der Code auf nichts zurück.

Zeiger-zu-Zeiger zweidimensionales kostenloses Speicherarray

Als Zeiger-zu-Zeiger-Array konnte ein zweidimensionales Array erzeugt werden. In dieser Situation muss zuerst jede der Zeilen beseitigt werden, gefolgt von dem verbleibenden 1D -Array. Im C ++ zeigt die folgende Instanz Folgendes:

#enthalten
Verwenden von Namespace STD;
int main ()

String ** ptr2d = neuer String*[3];
ptr2d [0] = neuer String [5];
ptr2d [0] [0] = "zz"; ptr2d [0] [1] = "zy"; ptr2d [0] [2] = "zx"; ptr2d [0] [3] = "zw";
ptr2d [1] = neuer String [5];
ptr2d [1] [0] = "mm"; ptr2d [1] [1] = "ml"; ptr2d [1] [2] = "mk"; ptr2d [1] [3] = "mj";
ptr2d [2] = neuer String [5];
ptr2d [2] [0] = "ii"; ptr2d [2] [1] = "ih"; ptr2d [2] [2] = "ig"; ptr2d [2] [3] = "if";
Cout<< ptr2D[2][2] <für (int i = 0; i< 3; ++i)
löschen [] ptr2d [i];

löschen [] ptr2d;
Cout<< ptr2D[1][1] <Rückkehr 0;

Die Header -Datei wird zu Beginn des Programms importiert. Der Standard -Namespace wurde verwendet. Der String -Zeiger auf Zeiger wird zuerst im Körper der Main () -Funktion konstruiert. Die Komponenten des zweidimensionalen Arrays wurden dann definiert. Die Elemente werden durch ihre Zeilen und Spalten angegeben. Um das Element in der zweiten Zeile und der zweiten Spalte des Arrays zu erhalten, verwenden wir die Anweisung "Cout".

Wir haben die 'for' -Schleife verwendet, um zuerst die Zeilen des Arrays zu löschen. Die Schleifenvariable wird initialisiert und dann wird eine Bedingung darauf angewendet. Zuletzt haben wir den Wert der Schleifenvariablen erhöht. Wir verwenden die Methode Löschen [], um zusätzliche Entitäten zu beseitigen. Der Befehl 'return 0' wird verwendet, um den Code zu beenden.

Um das zweidimensionale Array in der freien Bibliothek zu beseitigen, entfernen Sie zunächst alle Zeilen mit der Methode Delete [] und löschen Sie dann das 1-D-Zeiger-Array.

Abschluss

In diesem Artikel haben wir verschiedene Methoden zum Löschen des 2D -Arrays in C beschrieben++. Lassen Sie einfach ein zweidimensionales normales Array aus dem Bereich ausgehen, um es zu löschen. Wenn das zweidimensionale Array im freien Speicher wäre, würde es mit dem Delete [] -operator, um den Speicher in der Domäne freizusetzen, in der es angegeben wird, beseitigt. Wenn das zweidimensionale Array in der freien Bibliothek unter Verwendung von Standardnotation errichtet wurde, ist die Löschung so einfach wie "Delete [] zweidimensionales ArrayName.”

Wenn es als Zeiger-zu-Zeiger konstruiert worden wäre, entfernen Sie zuerst die Zeilen mit "Delete [zweidimensionaler ArrayName [i]" und dann das vorhandene 1-dimensionale Array mit "zweidimensionalem ArrayName delete [] löschen ”.