<?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[Pointer auf array und damit Zugriff?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich verstehe folgendes nicht: Ich lege ein array auf dem heap an. Dann lasse ich einen weiteren pointer auf das array zugreifen und will mit diesem auf dem array hin und hersprignen doch es funktioniert nicht. die ausgabe ist anders.</p>
<p>Pseudocode</p>
<pre><code class="language-cpp">int* arr = new int[10];
//fill arr with values

int* ptr = NULL;
ptr = arr;
ptr += 10; //sollte auf letztes element von arr zeigen oder?
for ( int i = 0; i &lt; 10; i++)
{
     std::cout &lt;&lt; *ptr &lt;&lt; &quot; &quot;;
     *ptr--;
}
std::cout &lt;&lt; std::endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/256865/pointer-auf-array-und-damit-zugriff</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 11:04:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256865.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 18 Dec 2009 21:40:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer auf array und damit Zugriff? on Fri, 18 Dec 2009 21:40:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich verstehe folgendes nicht: Ich lege ein array auf dem heap an. Dann lasse ich einen weiteren pointer auf das array zugreifen und will mit diesem auf dem array hin und hersprignen doch es funktioniert nicht. die ausgabe ist anders.</p>
<p>Pseudocode</p>
<pre><code class="language-cpp">int* arr = new int[10];
//fill arr with values

int* ptr = NULL;
ptr = arr;
ptr += 10; //sollte auf letztes element von arr zeigen oder?
for ( int i = 0; i &lt; 10; i++)
{
     std::cout &lt;&lt; *ptr &lt;&lt; &quot; &quot;;
     *ptr--;
}
std::cout &lt;&lt; std::endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1824748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824748</guid><dc:creator><![CDATA[testo]]></dc:creator><pubDate>Fri, 18 Dec 2009 21:40:38 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf array und damit Zugriff? on Fri, 18 Dec 2009 21:47:24 GMT]]></title><description><![CDATA[<p>*ptr = arr[0]<br />
Also ist<br />
*(ptr + 10) = arr[10]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824751</guid><dc:creator><![CDATA[wx++]]></dc:creator><pubDate>Fri, 18 Dec 2009 21:47:24 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf array und damit Zugriff? on Fri, 18 Dec 2009 22:04:09 GMT]]></title><description><![CDATA[<p>versuchs mal mit</p>
<p>ptr += 10 * sizeOf(int);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824759</guid><dc:creator><![CDATA[Tolpan]]></dc:creator><pubDate>Fri, 18 Dec 2009 22:04:09 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf array und damit Zugriff? on Fri, 18 Dec 2009 22:09:18 GMT]]></title><description><![CDATA[<p>Tolpan schrieb:</p>
<blockquote>
<p>versuchs mal mit</p>
<p>ptr += 10 * sizeOf(int);</p>
</blockquote>
<p>Nein, mach das nicht. 10 ist schon jenseits der Arraygrenzen, dann ist es 40 erst recht.</p>
<p>Der höchste gültige Index in einem Array mit 10 Elementen ist 9. Folglich kann ein Zeiger auf den Anfang 9 Mal inkrementiert werden, bevor er ungültig wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824762</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 18 Dec 2009 22:09:18 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf array und damit Zugriff? on Fri, 18 Dec 2009 22:28:15 GMT]]></title><description><![CDATA[<pre><code>*ptr--;
</code></pre>
<p>Sollte hier nicht einfach</p>
<pre><code>--ptr;
</code></pre>
<p>stehen?</p>
<p>MfG,<br />
ScRaT</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824775</guid><dc:creator><![CDATA[ScRaT_GER]]></dc:creator><pubDate>Fri, 18 Dec 2009 22:28:15 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf array und damit Zugriff? on Fri, 18 Dec 2009 22:30:14 GMT]]></title><description><![CDATA[<p>Das außerdem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824776</guid><dc:creator><![CDATA[wx++]]></dc:creator><pubDate>Fri, 18 Dec 2009 22:30:14 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf array und damit Zugriff? on Sat, 19 Dec 2009 11:07:31 GMT]]></title><description><![CDATA[<p>testo schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int* arr = new int[10];
//fill arr with values

int* ptr = NULL;
ptr = arr;
ptr += 10; //sollte auf letztes element von arr zeigen oder?
for ( int i = 0; i &lt; 10; i++)
{
     std::cout &lt;&lt; *ptr &lt;&lt; &quot; &quot;;
     *ptr--;
}
std::cout &lt;&lt; std::endl;
</code></pre>
</blockquote>
<p>Was soll denn die Ausgabe sein?</p>
<p>ptr zeigt nach ptr+=10 nicht auf das letzte Element sondern eins dahinter. Dementsprechend stellt das erste *ptr einen Zugriff auf einen Speicherbereich dar, der Dir nicht gehört. Die Dereferenzierung bei *ptr--; ist sinnlos, da Du den Wert ja sowieso nicht benötigst.</p>
<p>Probier mal das hier:</p>
<pre><code class="language-cpp">int* arr = new int[10];
//fill arr with values

int* ptr = arr + 10;
for ( int i = 0; i &lt; 10; i++)
{
     --ptr;
     std::cout &lt;&lt; *ptr &lt;&lt; &quot; &quot;;
}
std::cout &lt;&lt; std::endl;
</code></pre>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824900</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sat, 19 Dec 2009 11:07:31 GMT</pubDate></item></channel></rss>