Video: Unterschied Zwischen Zeiger Und Array
2024 Autor: Mildred Bawerman | [email protected]. Zuletzt bearbeitet: 2023-12-16 08:37
Zeiger gegen Array
Ein Zeiger ist ein Datentyp, der eine Referenz auf einen Speicherort enthält (dh eine Zeigervariable speichert eine Adresse eines Speicherorts, in dem einige Daten gespeichert sind). Arrays sind die am häufigsten verwendete Datenstruktur zum Speichern einer Sammlung von Elementen. Die meisten Programmiersprachen bieten Methoden zum einfachen Deklarieren von Arrays und zum Zugriff auf Elemente in den Arrays.
Was ist ein Zeiger?
Ein Zeiger ist ein Datentyp, der eine Adresse eines Speicherorts speichert, in dem einige Daten gespeichert sind. Mit anderen Worten, ein Zeiger enthält eine Referenz auf einen Speicherort. Der Zugriff auf die Daten, die in dem Speicherort gespeichert sind, auf den der Zeiger verweist, wird als Dereferenzierung bezeichnet. Wenn sich wiederholende Vorgänge wie das Durchlaufen von Bäumen / Zeichenfolgen, Tabellensuchen usw. ausgeführt werden, würde die Verwendung von Zeigern die Leistung verbessern. Dies liegt daran, dass das Dereferenzieren und Kopieren von Zeigern billiger ist als das tatsächliche Kopieren und Zugreifen auf die Daten, auf die die Zeiger zeigen. Ein Nullzeiger ist ein Zeiger, der auf nichts zeigt. In Java würde der Zugriff auf einen Nullzeiger eine Ausnahme erzeugen, die als NullPointerException bezeichnet wird.
Was ist ein Array?
In Abbildung 1 ist ein Code dargestellt, der normalerweise zum Deklarieren und Zuweisen von Werten zu einem Array verwendet wird. Abbildung 2 zeigt, wie ein Array im Speicher aussehen würde.
Werte [0] = 100; Werte [1] = 101; Werte [2] = 102; Werte [3] = 103; Werte [4] = 104; |
Abbildung 1: Code zum Deklarieren und Zuweisen von Werten zu einem Array
100 | 101 | 102 | 103 | 104 |
Index: 0 | 1 | 2 | 3 | 4 |
Abbildung 2: Im Speicher gespeichertes Array
Der obige Code definiert ein Array, das 5 Ganzzahlen speichern kann und auf das mit den Indizes 0 bis 4 zugegriffen wird. Eine wichtige Eigenschaft eines Arrays besteht darin, dass das gesamte Array als einzelner Speicherblock zugewiesen wird und jedes Element seinen eigenen Speicherplatz im Array erhält. Sobald ein Array definiert ist, ist seine Größe festgelegt. Wenn Sie sich also beim Kompilieren nicht sicher sind, wie groß das Array ist, müssen Sie ein Array definieren, das groß genug ist, um auf der sicheren Seite zu sein. In den meisten Fällen werden wir jedoch weniger Elemente verwenden, als wir zugewiesen haben. So wird tatsächlich eine beträchtliche Menge an Speicher verschwendet. Wenn andererseits das "ausreichend große Array" nicht groß genug ist, stürzt das Programm ab.
Was ist der Unterschied zwischen Zeigern und Arrays?
Ein Zeiger ist ein Datentyp, der eine Adresse eines Speicherorts speichert, in dem einige Daten gespeichert sind, während Arrays die am häufigsten verwendete Datenstruktur zum Speichern einer Sammlung von Elementen sind. In der Programmiersprache C erfolgt die Array-Indizierung mithilfe der Zeigerarithmetik (dh das i-te Element des Arrays x entspricht * (x + i)). Daher kann in C eine Reihe von Zeigern, die auf eine Reihe aufeinanderfolgender Speicherstellen zeigen, als Array betrachtet werden. Ferner gibt es einen Unterschied darin, wie der Operator sizeof auf Zeigern und Arrays arbeitet. Bei Anwendung auf ein Array gibt der Operator sizeof die gesamte Größe des Arrays zurück, während bei Anwendung auf einen Zeiger nur die Größe des Zeigers zurückgegeben wird.
Empfohlen:
Unterschied Zwischen Symmetrischen Und Asymmetrischen Topmolekülen
Der Hauptunterschied zwischen symmetrischen und asymmetrischen Topmolekülen besteht darin, dass symmetrische Topmoleküle eine richtige Rotationsachse und zwei Trägheitsmomente haben
Unterschied Zwischen Transgenen Und Knockout-Mäusen
Der Hauptunterschied zwischen transgenen und Knockout-Mäusen besteht darin, dass transgene Mäuse fremde Gene in ihr Genom eingefügt haben, während Knockout-Mäuse eine Funktion haben
Unterschied Zwischen Cisgenese Und Intragenese
Der Hauptunterschied zwischen Cisgenese und Intragenese besteht darin, dass bei der Cisgenese Gene eingeführt werden, ohne die DNA-Sequenz und die ge zu ändern
Unterschied Zwischen Dem Hauptunterschied Zwischen Metallischen Und Nichtmetallischen Mineralien
Hauptunterschied - Metallische und nichtmetallische Mineralien Ein Mineral ist ein natürlich vorkommender fester und anorganischer Bestandteil mit einer bestimmten chemischen Formel
Unterschied Zwischen Unterschied Und Unterschied
Unterschied gegen Unterschied Unterschied gegen Unterschied Die Wörter Unterschied und Unterschied haben dieselbe Bedeutung, obwohl es einen entscheidenden Unterschied zwischen ihnen gibt