<?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[Zeiger]]></title><description><![CDATA[<p>Hallo,</p>
<p>könnt ihr mir verraten warum an der im Quellcode markierten Stelle 0 ausgegeben wird?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    int arr[10] = {8, 6, 1, 2, 3, 5, 10, 17}, *parr;

    parr = arr;

    cout &lt;&lt; *(parr + 3) &lt;&lt; endl;       // 2
    cout &lt;&lt; *parr + 5 &lt;&lt; endl;         // 13
    parr++;
    cout &lt;&lt; *parr &lt;&lt; endl;             // 6
    parr += 4;                         
    cout &lt;&lt; *parr &lt;&lt; endl;             // 5
    cout &lt;&lt; parr[4] &lt;&lt; endl;           // 0 (warum wird hier 0 ausgegeben?)

    char dummy;
    cin &gt;&gt; dummy;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/117847/zeiger</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 04:31:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/117847.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 11 Aug 2005 18:20:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger on Thu, 11 Aug 2005 18:20:31 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>könnt ihr mir verraten warum an der im Quellcode markierten Stelle 0 ausgegeben wird?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    int arr[10] = {8, 6, 1, 2, 3, 5, 10, 17}, *parr;

    parr = arr;

    cout &lt;&lt; *(parr + 3) &lt;&lt; endl;       // 2
    cout &lt;&lt; *parr + 5 &lt;&lt; endl;         // 13
    parr++;
    cout &lt;&lt; *parr &lt;&lt; endl;             // 6
    parr += 4;                         
    cout &lt;&lt; *parr &lt;&lt; endl;             // 5
    cout &lt;&lt; parr[4] &lt;&lt; endl;           // 0 (warum wird hier 0 ausgegeben?)

    char dummy;
    cin &gt;&gt; dummy;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/850371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850371</guid><dc:creator><![CDATA[Wernus]]></dc:creator><pubDate>Thu, 11 Aug 2005 18:20:31 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger on Thu, 11 Aug 2005 18:27:05 GMT]]></title><description><![CDATA[<p>Du hast ganz einfach nur 8 Elemente initialisiert! Du zeigst mit parr aber auf das 10. Element. Also noch zwei weitere Zahlen dazu, dann gehts.</p>
<p>Nebenbei : Du kannst auch die Anzahl der Elemente weglassen</p>
<pre><code class="language-cpp">int arr[] = {8, 6, 1, 2, 3, 5, 10, 17};
</code></pre>
<p>Sersn,</p>
<p>Nalas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850377</guid><dc:creator><![CDATA[Nalas]]></dc:creator><pubDate>Thu, 11 Aug 2005 18:27:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger on Fri, 12 Aug 2005 14:28:57 GMT]]></title><description><![CDATA[<p>genau du musst beachten ,<br />
das parr nach parr++ und parr += 4 nicht mehr auf das erste element im array<br />
weisst und du dann durch parr[4] quasi auf das 10. element zugreifst,<br />
da das aber nicht definiert ist bekommst du hier auch ein undefiniertes<br />
ergebnis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850964</guid><dc:creator><![CDATA[rene1]]></dc:creator><pubDate>Fri, 12 Aug 2005 14:28:57 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger on Fri, 12 Aug 2005 16:48:44 GMT]]></title><description><![CDATA[<p>es ist nicht undefiniert:</p>
<p>nach den inkrements gilt ja</p>
<pre><code class="language-cpp">parr == arr[5]
</code></pre>
<p>und daher</p>
<pre><code class="language-cpp">parr[4] == arr[9]
</code></pre>
<p>und da arr die Länge 10 hat, ist arr[9] durchaus definiert und ein int.<br />
Allerdings werden bei der Initialisierung mit einer zu kurzen Liste die verbleibenden Variablen mit 0 intitialisiert. Deswegen hat das den gleichen Effekt, als häätest du folgendes gesagt:</p>
<pre><code class="language-cpp">int arr[10] = {8, 6, 1, 2, 3, 5, 10, 17, 0, 0}; //die nullen sind optional!
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/851067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851067</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 12 Aug 2005 16:48:44 GMT</pubDate></item></channel></rss>