10 Unterschied zwischen Array und Zeiger (mit Vergleichstabelle)

Contents

Was ist ein Array?

Arrays sind eine Art Datenstruktur, die eine sequentielle Sammlung von Elementen desselben Typs mit fester Größe speichern kann. Ein Array wird verwendet, um eine Sammlung von Daten zu speichern, aber es ist oft nützlicher, sich ein Array als eine Sammlung von Variablen desselben Typs vorzustellen. Arrays werden üblicherweise in Computerprogrammen verwendet, um Daten so zu organisieren, dass ein zusammenhängender Satz von Werten leicht sortiert oder durchsucht werden kann.

Beispielsweise kann eine Suchmaschine ein Array verwenden, um Webseiten zu speichern, die in einer vom Benutzer durchgeführten Suche gefunden wurden. Bei der Anzeige der Ergebnisse gibt das Programm jeweils ein Element des Arrays aus. Dies kann für eine bestimmte Anzahl von Werten erfolgen oder bis alle im Array gespeicherten Werte ausgegeben wurden. Während das Programm für jedes gefundene Ergebnis eine neue Variable erstellen könnte, ist das Speichern der Ergebnisse in einem Array viel effizienter, um den Speicher zu verwalten.

Die wichtigste Liste der Array-Funktionen umfasst:

  • Kopieren und klonen
  • Einfügen und Löschen
  • Suchen und sortieren

Was Sie über Array wissen müssen

  1. Ein Array ist ein einzelner, vorab zugewiesener Teil ansteckender Elemente (alle vom gleichen Typ), die in Größe und Position festgelegt sind.
  2. Sie sind statisch. Sobald der Speicher zugewiesen ist, kann er nicht dynamisch gemäß den Anforderungen des Benutzers in der Größe geändert oder freigegeben werden.
  3. Arrays werden zur Kompilierzeit zugewiesen, dh zu der Zeit, wenn der Programmierer das Programm schreibt.
  4. Die Größe eines Arrays bestimmt die Anzahl der Variablen, die es speichern kann.
  5. Array kann bei der Definition initialisiert werden. Beispiel int num={2, 4, 5}
  6. Der Assemblercode von Array unterscheidet sich vom Zeiger.
  7. Die Speicherzuweisung erfolgt sequentiell.
  8. Array ist eine Gruppe von Elementen.
  9. Array-Typen umfassen eindimensionale Arrays, zweidimensionale Arrays und mehrdimensionale Arrays.
  10. Java unterstützt das Konzept des Arrays.

Was ist ein Zeiger?

Ein Zeiger ist ein Programmiersprachenobjekt, das eine Speicheradresse speichert. Dies kann der Wert eines anderen Werts sein, der sich im Computerspeicher befindet, oder in einigen Fällen der der speicherabgebildeten Computerhardware. Im Gegensatz zu anderen Variablen, die Werte eines bestimmten Typs enthalten, enthält Pointer die Adresse einer Variablen. Eine ganzzahlige Variable enthält beispielsweise einen ganzzahligen Wert; ein ganzzahliger Zeiger enthält jedoch die Adresse einer ganzzahligen Variablen.

Die Verwendung von Zeigern verbessert die Leistung für sich wiederholende Operationen wie das Durchlaufen von iterierbaren Datenstrukturen, zB Zeichenketten, Nachschlagetabellen, Steuertabellen und Baumstrukturen, erheblich. Insbesondere ist es oft viel billiger, Zeiger zu kopieren und zu dereferenzieren, als die Daten, auf die die Zeiger zeigen, zu kopieren und darauf zuzugreifen.

Verwendung von Pointer

  • Sie werden hauptsächlich für die Konstruktion von Referenzen verwendet, die wiederum für die Konstruktion fast aller Datenstrukturen von grundlegender Bedeutung sind, sowie für die Weitergabe von Daten zwischen verschiedenen Teilen eines Programms.
  • Zeiger können auch verwendet werden, um dynamische Variablen und Arrays im Speicher zuzuordnen und freizugeben.
  • Zeiger werden verwendet, um Parameter als Referenz zu übergeben.
  • In Datenstrukturen wie verketteten Listen werden Zeiger als Referenzen verwendet, um ein Stück der Struktur explizit an ein anderes zu binden.

Was Sie über Pointer wissen müssen

  1. Ein Zeiger ist ein Platz im Speicher, der die Adresse eines anderen Platzes enthält.
  2. Pointer ist von Natur aus dynamisch. Die Speicherzuweisung kann später jederzeit in der Größe geändert oder freigegeben werden.
  3. Zeiger enthalten Speicheradressen als ihre Werte, sodass sie auch verwendet werden können, um auf im Speicher gespeicherte Daten zuzugreifen und diese zu manipulieren.
  4. Zeiger werden zur Laufzeit, dh nach der Ausführung des Programms, zugewiesen.
  5. Eine Zeigervariable kann nur die Adresse einer Variablen speichern.
  6. Zeiger kann an der Definition nicht initialisiert werden.
  7. Der Assemblercode von Pointer unterscheidet sich von Array.
  8. Die Speicherzuweisung erfolgt zufällig.
  9. Pointer ist keine Gruppe von Elementen. Es ist eine einzelne Variable.
  10. Java unterstützt keine Zeiger.

Lesen Sie auch: Unterschied zwischen Array- und verknüpften Listendatenstrukturen

Unterschied zwischen Array und Zeiger in Tabellenform

VERGLEICHSGRUNDLAGEARRAYZEIGER
BeschreibungEin Array ist ein einzelner, vorab zugewiesener Teil ansteckender Elemente (alle vom gleichen Typ), die in Größe und Position festgelegt sind.  Ein Zeiger ist ein Platz im Speicher, der die Adresse eines anderen Platzes enthält.  
NaturSie sind statisch. Sobald der Speicher zugewiesen ist, kann er nicht dynamisch gemäß den Anforderungen des Benutzers in der Größe geändert oder freigegeben werden.  Pointer ist von Natur aus dynamisch. Die Speicherzuweisung kann später jederzeit in der Größe geändert oder freigegeben werden.  
ZuweisungArrays werden zur Kompilierzeit zugewiesen, dh zu der Zeit, wenn der Programmierer das Programm schreibt.  Zeiger werden zur Laufzeit, dh nach der Ausführung des Programms, zugewiesen.  
InitialisierungArray kann bei der Definition initialisiert werden. Beispiel int num={2, 4, 5}  Zeiger kann an der Definition nicht initialisiert werden.  
Anzahl der gespeicherten VariablenDie Größe eines Arrays bestimmt die Anzahl der Variablen, die es speichern kann.  Eine Zeigervariable kann nur die Adresse einer Variablen speichern.  
MontagecodeDer Assemblercode von Array unterscheidet sich vom Zeiger.  Der Assemblercode von Pointer unterscheidet sich von Array.    
SpeicherzuweisungDie Speicherzuweisung erfolgt sequentiell.  Die Speicherzuweisung erfolgt zufällig.  
ExistenzArray ist eine Gruppe von Elementen.  Pointer ist keine Gruppe von Elementen. Es ist eine einzelne Variable.  
Unterstützung auf JavaJava unterstützt das Konzept des Arrays.  Java unterstützt keine Zeiger.  
SyntaxArray-Syntax Datentyp arrayName [Datentyp];Zeigersyntax-Datentyp *variable_name;

Lesen Sie auch: Unterschied zwischen Struktur und Union

osky