Heim  >  Artikel  >  Backend-Entwicklung  >  Wie drucke ich eine Zeigeradresse mit C's cout?

Wie drucke ich eine Zeigeradresse mit C's cout?

DDD
DDDOriginal
2024-11-04 00:22:30282Durchsuche

How to Print a Pointer Address with C  's cout?

So geben Sie eine Zeigeradresse mit cout von C aus

Beim Versuch, einen Zeichenzeiger mit cout auszugeben, entscheidet sich der Stream für eine Behandlung es als Zeichenfolge und nicht als Adresse. Dieses Verhalten entsteht aufgrund der Überladungsauflösung, bei der cout einen Operator auswählt, der dem Typ des Arguments entspricht.

In diesem Fall wählt cout den Operator aus, der für das Drucken von Zeichenfolgen im C-Stil definiert ist:

<code class="cpp">ostream& operator<<(ostream& o, const char *c);

Sie müssen jedoch die Überladung zum Drucken von Zeigern auswählen:

<code class="cpp">ostream& operator<<(ostream& o, const void *p);

Um den char-Zeiger explizit in einen generischen Zeiger umzuwandeln, verwenden Sie die folgende Syntax:

<code class="cpp">cout << static_cast<void *>(cptr) << endl;</code>

Diese Umwandlung informiert cout dass Sie beabsichtigen, die Adresse des Zeigers und nicht die Zeichenfolge, auf die er zeigt, auszugeben.

Das obige ist der detaillierte Inhalt vonWie drucke ich eine Zeigeradresse mit C's cout?. 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