Unterschied zwischen Array und Zeiger

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Array und Zeiger ist, dass an Array ist eine Datenstruktur, die eine Sammlung von Elementen des gleichen Datentyps speichert, während ein Zeiger eine Variable ist, die die Adresse einer anderen Variablen im Computerspeicher enthält.

Array und Zeiger sind zwei Konzepte, die in Programmiersprachen wie C und C++ verwendet werden. Ein Array ist eine Sammlung von Daten, die eine feste Anzahl von Werten desselben Datentyps enthält. Um beispielsweise die Noten von 10 Schülern zu speichern, kann der Programmierer ein Array erstellen, das 10 ganze Zahlen speichern kann. Andererseits ist ein Zeiger eine Variable, die die Adresse einer anderen Variablen enthält. Zeiger helfen beim Zugriff auf den Speicher und beim Manipulieren von Speicheradressen.

Array, Zeiger

Was ist ein Array?

Ein Array ist eine Datenstruktur, die eine feste Anzahl von Elementen des gleichen Typs speichert. Alle Elemente des Arrays befinden sich in zusammenhängenden Speicherplätzen.

Abbildung 1: Array

Angenommen, Sie müssen Werte von 50 ganzen Zahlen speichern. Es ist möglich, Variablen für jede ganze Zahl zu erstellen, aber es ist schwierig und zeitaufwendiger. Ein Array kann verwendet werden, um dieses Problem zu lösen.

int-Zahlen[50];

Die obige Anweisung weist ein Array namens numbers zu, das fünfzig Ganzzahlen speichern kann. Anhand des Index kann ein bestimmtes Element des Arrays bewertet werden. Der Startindex ist 0. Da das Array 50 Elemente enthält, hat das letzte Element den Index 49.

Zahlen[1] = 30;

Die obige Anweisung weist der 1. den Wert 30 zuNS Index des Zahlenarrays.

Zum Beispiel der doppelte Durchschnitt[10]; erstellt ein Array namens Durchschnitt. Es kann 10 Doppelwerte speichern.

Ein Array ist einfacher zu erstellen und einfacher auf Elemente zuzugreifen. Andererseits hat ein Array eine feste Größe. Wenn die Arraygröße 10 beträgt, kann sie nicht zum Speichern von 20 Elementen verwendet werden. Mit anderen Worten, die Speicherzuweisung für ein Array ist statisch.

Was ist ein Pointer?

Eine Variable ist ein Speicherplatz, um einen Wert zu speichern. Jeder Speicherplatz hat eine Adresse, um ihn zu identifizieren.

Abbildung 2: Zeiger

Ein Zeiger ist eine Variable, die die Adresse einer anderen Variablen speichert. Der Zeiger wird vor dem Speichern einer Variablenadresse deklariert. Das Sternchen * wird verwendet, um einen Zeiger zu deklarieren.

int *ptr;

Der ptr ist ein Zeiger auf eine Integer-Variable.

doppelt *ptr1;

ptr1 ist ein Zeiger auf eine Double-Variable. Beziehen Sie sich auf den folgenden Code.

Abbildung 3: Programm mit Zeigern

Die Variable ‚a‘enthält den Wert 20. Der ptr ist ein Zeiger auf eine ganze Zahl. In Zeile 8 wird ptr die Adresse der Variablen a zugewiesen. Jetzt zeigt ptr auf a. Daher ergibt das Drucken des Werts, auf den ptr zeigt, den Wert von a.

Wenn keine Adresse zugewiesen werden soll, kann der Zeiger mit einem NULL-Wert zugewiesen werden. Dieser Zeigertyp wird als Nullzeiger bezeichnet.

int *ptr = NULL;

Beziehung zwischen Array und Zeiger

Siehe untenstehendes Programm.

Abbildung 4: Arrays mit Zeigern

Es gibt ein Array namens arr. Es enthält 5 ganze Zahlen. Der ptr ist ein Zeiger auf eine ganze Zahl. In Zeile 8 wird arr ptr zugewiesen. Daher zeigt der ptr auf das 0. Indexelement des Arrays. Beim Drucken des Wertes von ptr wird der Wert 0. angezeigtNS Indexelement. Es ist 10.

Unterschied zwischen Array und Zeiger

Definition

Array ist eine Datenstruktur, die aus einer Sammlung von Elementen besteht, die jeweils durch den Array-Index identifiziert werden. Ein Zeiger ist ein Programmiersprachenobjekt, das die Speicheradresse eines anderen Werts im Computerspeicher speichert.

Basis

Während sich ein Array auf einen Satz von Datenelementen bezieht, ist ein Zeiger eine Variable, die auf einen anderen Speicherort zeigt.

Syntax

Array-Syntax – Datentyp arrayName [Datentyp];

Zeigersyntax – Datentyp * Variablenname;

Verwendungszweck

Obwohl Arrays verwendet werden können, um Speicher mit fester Größe (statischer Speicher) zuzuweisen, können Zeiger für die dynamische Speicherzuweisung verwendet werden.

Abschluss

Die beiden Begriffe Array und Pointer sind zwei Programmierkonzepte. Der Unterschied zwischen Array und Zeiger besteht darin, dass ein Array eine Datenstruktur ist, die eine Sammlung von Elementen des gleichen Datentyps speichert, während ein Zeiger eine Variable ist, die die Adresse einer anderen Variablen im Computerspeicher enthält.

Referenz:

1. „Arrays in C.“ Www.tutorialspoint.com, Tutorials Point, hier verfügbar.2. „Zeiger in C.“ Www.tutorialspoint.com, Tutorials Point, hier verfügbar.

Bild mit freundlicher Genehmigung:

1. „CPT-Programming-Array“ Von Pluke – Eigene Arbeit (CC0) über Commons Wikimedia2. „Zeiger“ von Diese Datei wurde erstellt von Benutzer: SvenTranslation Eigene Arbeit (CC BY-SA 3.0) über Commons Wikimedia

Unterschied zwischen Array und Zeiger