Unterschied zwischen Zeiger und Array

Unterschied zwischen Zeiger und Array

Zeiger gegen Array

Ein Zeiger ist ein Datentyp, der einen Verweis auf einen Speicherort (i "bezieht (i.e. Eine Zeigervariable speichert eine Adresse eines Speicherorts, an dem einige Daten gespeichert werden. Arrays sind die am häufigsten verwendete Datenstruktur, um eine Sammlung von Elementen zu speichern. Die meisten Programmiersprachen bieten Methoden, um Arrays und Zugriff auf Elemente in den Arrays zu deklarieren.

Was ist ein Zeiger??

Ein Zeiger ist ein Datentyp, der eine Adresse eines Speicherorts speichert, an dem einige Daten gespeichert werden. Mit anderen Worten, ein Zeiger enthält einen Hinweis auf einen Speicherort. Zugriff auf die Daten, die im Speicherort gespeichert sind, auf die vom Zeiger verwiesen wird. Bei der Durchführung von sich wiederholenden Operationen wie dem Durchqueren von Bäumen/Saiten, Tischhowups usw., Die Verwendung von Zeigern würde die Leistung verbessern. Dies liegt daran. Ein Nullzeiger ist ein Zeiger, der auf nichts hinweist. In Java würde der Zugriff auf einen Nullzeiger eine Ausnahme generieren, die als NullPointerexception bezeichnet wird.

Was ist ein Array?

In Abbildung 1 ist ein Stück Code angezeigt, das normalerweise verwendet wird, um ein Array zu deklarieren und Werte zuzuweisen. Abbildung 2 zeigt, wie ein Array im Speicher aussehen würde.

int Werte [5];

Werte [0] = 100;

Werte [1] = 101;

Werte [2] = 102;

Werte [3] = 103;

Werte [4] = 104;

Abbildung 1: Code zum Deklarieren und Zuweisen von Werten an ein Array


100 101 102 103 104
Index: 0 1 2 3 4

Abbildung 2: Array im Speicher gespeichert

Oben Code definiert ein Array, mit dem 5 Ganzzahlen gespeichert werden können und auf sie werden mit Indizes 0 bis 4 zugegriffen. Eine wichtige Eigenschaft eines Arrays ist, dass das gesamte Array als einzelner Speicherblock zugewiesen wird und jedes Element seinen eigenen Platz im Array erhält. Sobald ein Array definiert ist, ist seine Größe festgelegt. Wenn Sie sich also nicht sicher sind, wie groß das Array zur Kompilierungszeit ist, müssten Sie ein ausreichend großes Array definieren, um sich auf der sicheren Seite zu befinden. Aber meistens werden wir tatsächlich weniger Elemente verwenden, als wir zugewiesen haben. Es wird also tatsächlich eine beträchtliche Menge an Speicher verschwendet. Andererseits würde das Programm zum Absturz gebracht, wenn das „Groß genug Array“ nicht wirklich groß genug ist.

Was ist der Unterschied zwischen Zeigern und Arrays?

Ein Zeiger ist ein Datentyp, der eine Adresse eines Speicherorts speichert, an dem einige Daten gespeichert sind, während Arrays die am häufigsten verwendete Datenstruktur sind, um eine Sammlung von Elementen zu speichern. In der C -Programmiersprache erfolgt die Array -Indexierung unter Verwendung der Zeigerarithmetik (i.e. Das Ith -Element des Arrays X wäre äquivalent zu *(x+i)). Daher kann in C in C als Array auf eine Reihe von Speicherorten hinweisen, die aufeinanderfolgend sind. Darüber hinaus gibt es einen Unterschied darin. Bei der Anwendung auf ein Array gibt der Größe des Operator.