<?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[Array und pointer]]></title><description><![CDATA[<p>Hallo miteinander, hab von der Uni ein programm zu interpretieren, nur wenn ich es kompile bekomme ich einen anderen output, als den ich mir erklären kann - glaube jedoch der compiler hat eher recht.</p>
<p>Kann mir jemand helfen, wieso dass ein solcher output zu stande kommt, wenn der code lautet:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()

{

  int a[] = {5, 6, 2, 3, 1, 4, 0};
  int* p = a;

  do{
    std::cout &lt;&lt; *p &lt;&lt; &quot; &quot;;
    p = a +*p;

  } while (p != a);

  return 0;

}
</code></pre>
<p>Wobei ich als output</p>
<p>5 4 1 6 0 bekomme,</p>
<p>mfg chris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196858/array-und-pointer</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 18:27:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196858.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Nov 2007 18:24:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array und pointer on Sat, 03 Nov 2007 18:24:30 GMT]]></title><description><![CDATA[<p>Hallo miteinander, hab von der Uni ein programm zu interpretieren, nur wenn ich es kompile bekomme ich einen anderen output, als den ich mir erklären kann - glaube jedoch der compiler hat eher recht.</p>
<p>Kann mir jemand helfen, wieso dass ein solcher output zu stande kommt, wenn der code lautet:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()

{

  int a[] = {5, 6, 2, 3, 1, 4, 0};
  int* p = a;

  do{
    std::cout &lt;&lt; *p &lt;&lt; &quot; &quot;;
    p = a +*p;

  } while (p != a);

  return 0;

}
</code></pre>
<p>Wobei ich als output</p>
<p>5 4 1 6 0 bekomme,</p>
<p>mfg chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397143</guid><dc:creator><![CDATA[Christan P]]></dc:creator><pubDate>Sat, 03 Nov 2007 18:24:30 GMT</pubDate></item><item><title><![CDATA[Reply to Array und pointer on Sat, 03 Nov 2007 18:44:16 GMT]]></title><description><![CDATA[<p><code>p = a +*p;</code> weist dem Zeiger p die Adresse vom ersten Element von zu plus den Wert, auf den p gerade zeigt.</p>
<pre><code>Das hier ist unser a
5 6 2 3 1 4 0

Am Anfang zeigen a und p auf das erste Element:
5 6 2 3 1 4 0
^

Bei p = a + *p ist a der Zeiger auf das erste Element und *p ist der Wert hinter p.
Da p zu dem Zeitpunkt noch auf die 5 zeigt, wird p also die Adresse von a+5 zugewiesen,
was dann hierhin zeigt:
5 6 2 3 1 4 0
          ^
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1397157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397157</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sat, 03 Nov 2007 18:44:16 GMT</pubDate></item><item><title><![CDATA[Reply to Array und pointer on Sat, 03 Nov 2007 18:54:26 GMT]]></title><description><![CDATA[<p>Ach so geht das, war eben völlig verwirrt wegen dem *p, wusste nicht mehr genau, was das genau macht und wollte a+p rechnen und so, aber das geht ja nicht so einfach,</p>
<p>merci, Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397162</guid><dc:creator><![CDATA[Christian P]]></dc:creator><pubDate>Sat, 03 Nov 2007 18:54:26 GMT</pubDate></item></channel></rss>