Heim >Backend-Entwicklung >C++ >Wie drucke ich die Adresse eines char-Zeigers mit cout in C?

Wie drucke ich die Adresse eines char-Zeigers mit cout in C?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-04 11:23:40986Durchsuche

How to Print the Address of a char Pointer using cout in C  ?

Adressen mit Char-Zeigern in C drucken: Den Unterschied zwischen printf() und cout enthüllen

Beim Umgang mit Char-Zeigern besteht die Wahl zwischen der Ausgabe der Adresse oder der Zeichenfolge Inhalte können verwirrend sein. Im Fall von printf() ist die Entscheidung anhand des Konvertierungsspezifizierers eindeutig. Wenn es jedoch um cout geht, ist der Auswahlprozess weniger offensichtlich.

couts Überladungsdilemma

In C ist cout eine Instanz der Klasse ostream, die mehrere überladene Versionen des Operators< bietet ;<. Beim Drucken eines char-Zeigers muss der Compiler bestimmen, welche Überladung verwendet werden soll. Standardmäßig priorisiert cout die für Zeichenfolgen im C-Stil vorgesehene Überladung, die den Zeichenfolgeninhalt ausgibt.

Adressdruck mit Umwandlung erzwingen

Um dieses Verhalten zu überschreiben und stattdessen die Adresse zu drucken, ist eine Umwandlung erforderlich ist notwendig. Die gewünschte Überladung benötigt einen void-Zeiger als Eingabe. Daher können Sie den folgenden Code verwenden:

cout << static_cast(cptr) << endl;

Diese Umwandlung wandelt den char-Zeiger explizit in einen void-Zeiger um und zwingt cout, die entsprechende Überladung zu verwenden. Als Ergebnis wird die Adresse von ch gedruckt.

Das obige ist der detaillierte Inhalt vonWie drucke ich die Adresse eines char-Zeigers mit cout in C?. 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