<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Frage zu char-Pointer]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Frage zu char-Pointer. Es geht um folgenden Code:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
   char c[]={'H','a','l','l','o'};//&quot;Hallo&quot;;
   char *ptr=c;
   cout &lt;&lt; ptr&lt;&lt;endl;
   cout &lt;&lt; *ptr&lt;&lt;endl;

   int a[]={5,1};
   int *z=a;
   cout &lt;&lt;z&lt;&lt;endl;
   cout &lt;&lt;*z&lt;&lt;endl;

}
</code></pre>
<p>Wieso wird bei cout &lt;&lt; ptr&lt;&lt;endl; &quot;Hallo&quot; ausgegeben? Normalerweise muss doch die Anfangsadresse des Arrays c angezeigt werden. Grundsätzlich scheint es nicht einfach zu sein, dass man die Anfangsadresse von c rausbekommt.</p>
<pre><code>cout &lt;&lt; &amp;c&lt;&lt;endl;
</code></pre>
<p>bringt es auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/324036/frage-zu-char-pointer</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 02:34:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/324036.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 28 Feb 2014 05:25:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu char-Pointer on Fri, 28 Feb 2014 05:25:25 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Frage zu char-Pointer. Es geht um folgenden Code:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
   char c[]={'H','a','l','l','o'};//&quot;Hallo&quot;;
   char *ptr=c;
   cout &lt;&lt; ptr&lt;&lt;endl;
   cout &lt;&lt; *ptr&lt;&lt;endl;

   int a[]={5,1};
   int *z=a;
   cout &lt;&lt;z&lt;&lt;endl;
   cout &lt;&lt;*z&lt;&lt;endl;

}
</code></pre>
<p>Wieso wird bei cout &lt;&lt; ptr&lt;&lt;endl; &quot;Hallo&quot; ausgegeben? Normalerweise muss doch die Anfangsadresse des Arrays c angezeigt werden. Grundsätzlich scheint es nicht einfach zu sein, dass man die Anfangsadresse von c rausbekommt.</p>
<pre><code>cout &lt;&lt; &amp;c&lt;&lt;endl;
</code></pre>
<p>bringt es auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385677</guid><dc:creator><![CDATA[asd1]]></dc:creator><pubDate>Fri, 28 Feb 2014 05:25:25 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu char-Pointer on Fri, 28 Feb 2014 06:14:50 GMT]]></title><description><![CDATA[<p>altlast aus C. zeiger auf chars sind c-strings und werden auch als solche ausgegeben. wenn du die adresse des ersten objektes willst musst du z.b. nach void* casten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385680</guid><dc:creator><![CDATA[Fytch]]></dc:creator><pubDate>Fri, 28 Feb 2014 06:14:50 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu char-Pointer on Fri, 28 Feb 2014 07:23:40 GMT]]></title><description><![CDATA[<p>Dein C-String in c ist aber nicht Nullterminiert. Da fehlt noch ein <code>'\0'</code> als letztes Element im Array.<br />
Erst dann ist es wie das Stringliteral <em>&quot;Hallo&quot;</em>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385682</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Fri, 28 Feb 2014 07:23:40 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu char-Pointer on Fri, 28 Feb 2014 14:27:15 GMT]]></title><description><![CDATA[<p>ungefähr so</p>
<pre><code class="language-cpp">cout &lt;&lt; static_cast&lt;void*&gt;(ptr) &lt;&lt; endl;
</code></pre>
<p>ein char* behandelt so ein stream-Operator wie eine Zeichenkette (die, auf die er zeigt). Bei einem void* bekommt du die Adresse angezeigt. Für andere Adresse muss man diesen Cast auch nicht selbst durchführen. Das passiert implizit. Aber für char* gibt's eben eine speziellere Überladung/Sonderbehandlung. In 99% der Fälle will man einfach nicht die Adresse sehen, sondern eine Zeichenkette. Bissel inkonsistent, aber tendenziell bequem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2385774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2385774</guid><dc:creator><![CDATA[kkaw]]></dc:creator><pubDate>Fri, 28 Feb 2014 14:27:15 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu char-Pointer on Sun, 02 Mar 2014 08:08:16 GMT]]></title><description><![CDATA[<p>Vielen Dank!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2386012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2386012</guid><dc:creator><![CDATA[asd1]]></dc:creator><pubDate>Sun, 02 Mar 2014 08:08:16 GMT</pubDate></item></channel></rss>