Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Unterschied zwischen Referenz und Zeiger?

Was ist der Unterschied zwischen Referenz und Zeiger?

王林
王林Original
2020-07-18 15:43:4611449Durchsuche

Der Unterschied zwischen einer Referenz und einem Zeiger ist: 1. Das Programm reserviert einen Speicherbereich für die Zeigervariable, nicht jedoch für die Referenz. 2. Die Referenz wird initialisiert, wenn sie definiert wird, und kann später nicht geändert werden , während sich der Zeiger ändern kann. 3. Zeiger müssen bei Verwendung mit „*“ hinzugefügt werden, und Referenzen können direkt verwendet werden.

Was ist der Unterschied zwischen Referenz und Zeiger?

Zeiger und Referenzen sind Adresskonzepte. Ein Zeiger zeigt auf einen Speicherabschnitt, und sein Inhalt ist die Adresse des gezeigten Speichers. Eine Referenz ist ein Alias ​​für ein bestimmtes Stück Erinnerung.

(Empfohlenes Tutorial: C-Sprach-Tutorial )

Detaillierte Einführung:

Das Programm reserviert einen Speicherbereich für Zeigervariablen, jedoch nicht für Referenzen.

Wenn Sie Zeiger verwenden, fügen Sie * vor, und Referenzen können direkt verwendet werden.

Die Referenz wird beim Definieren initialisiert und kann später nicht geändert werden. Das heißt, das referenzierte Objekt kann nicht geändert werden, aber das Objekt des Zeigers kann geändert werden.

Es gibt keinen Nullverweis, aber einen Nullzeiger. Dies macht Code, der Referenzen verwendet, effizienter als die Verwendung von Zeigern. Denn es besteht keine Notwendigkeit, die Gültigkeit einer Referenz vor der Verwendung zu testen. Im Gegensatz dazu sollten Zeiger immer getestet werden, um zu verhindern, dass sie null sind.

Durch die Verwendung von „sizeof“ für die Referenz wird die Größe der Variablen ermittelt, und durch die Verwendung von „sizeof“ für den Zeiger wird die Größe der Adresse der Variablen ermittelt.

Theoretisch gibt es keine Begrenzung für die Anzahl der Zeigerebenen, es gibt jedoch nur eine Referenzebene. Das heißt, es gibt keinen Verweis auf eine Referenz, aber es kann einen Zeiger auf einen Zeiger geben.

int **p //合法
int &&p //非法

++-Referenz und ++-Zeiger haben unterschiedliche Auswirkungen.

Beispielsweise spiegelt die Operation an der Referenz direkt das angezeigte Objekt wider, anstatt den Zeiger zu ändern, und die Operation am Zeiger bewirkt, dass der Zeiger auf das nächste Objekt zeigt als den spitzen Inhalt des Objekts zu ändern.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Referenz und Zeiger?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn