<?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 auf Array]]></title><description><![CDATA[<p>huhu ihrs,<br />
hab grad irgendwie ein Verständnisproblem:</p>
<pre><code class="language-cpp">int ar[10] = {};
cout &lt;&lt; ar &lt;&lt; endl &lt;&lt; &amp;ar &lt;&lt; endl &lt;&lt; &amp;ar[0];
</code></pre>
<p>Wenn ich das nun ausfrühre, bekomm ich 3x die selbe Adresse... soweit klar, aber warum geht das dann nicht, wenn es doch dieselbe Adresse ist:</p>
<pre><code class="language-cpp">int* pi = &amp;ar; // Error
</code></pre>
<p>Danke schonmal für Erklärungen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/255029/zeiger-auf-array</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 09:20:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/255029.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Nov 2009 16:53:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf Array on Tue, 24 Nov 2009 16:53:46 GMT]]></title><description><![CDATA[<p>huhu ihrs,<br />
hab grad irgendwie ein Verständnisproblem:</p>
<pre><code class="language-cpp">int ar[10] = {};
cout &lt;&lt; ar &lt;&lt; endl &lt;&lt; &amp;ar &lt;&lt; endl &lt;&lt; &amp;ar[0];
</code></pre>
<p>Wenn ich das nun ausfrühre, bekomm ich 3x die selbe Adresse... soweit klar, aber warum geht das dann nicht, wenn es doch dieselbe Adresse ist:</p>
<pre><code class="language-cpp">int* pi = &amp;ar; // Error
</code></pre>
<p>Danke schonmal für Erklärungen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1813008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1813008</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 24 Nov 2009 16:53:46 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Array on Tue, 24 Nov 2009 16:57:20 GMT]]></title><description><![CDATA[<p>Adressen werden zur Laufzeit vergeben, Typsicherheit wird aber zum Kompilierzeitpunkt überprüft. Und da passt eben ein int ** nicht zu einem int *.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1813010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1813010</guid><dc:creator><![CDATA[KPC]]></dc:creator><pubDate>Tue, 24 Nov 2009 16:57:20 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Array on Tue, 24 Nov 2009 17:05:52 GMT]]></title><description><![CDATA[<p>hmm verstehe gerade nicht warum die Adresse &quot;&amp;ar&quot; zu einem &quot;**&quot; gehört,<br />
aber die Adresse &quot;ar&quot; zu einem &quot;*&quot; gehört ?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1813017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1813017</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 24 Nov 2009 17:05:52 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Array on Wed, 25 Nov 2009 00:00:22 GMT]]></title><description><![CDATA[<p>Dweb schrieb:</p>
<blockquote>
<p>hmm verstehe gerade nicht warum die Adresse &quot;&amp;ar&quot; zu einem &quot;**&quot; gehört,<br />
aber die Adresse &quot;ar&quot; zu einem &quot;*&quot; gehört ?!</p>
</blockquote>
<p>Das ist der Array-to-Pointer-Decay. ar ist ein Array von ints. Aber bei Funktionsaufrufen verhält es sich wie ein Zeiger auf das erste Element, also hier wie ein *int. Wenn du den Adressoperator auf ar anwendest, verhält sich ar wieder wie ein Array. Entsprechend ist das dann die Adresse eines int-Arrays, also int(*)[10].</p>
<p>Hoffentlich bin ich jetzt mit den ganzen * nicht durcheinandergekommen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1813023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1813023</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 25 Nov 2009 00:00:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Array on Tue, 24 Nov 2009 19:07:59 GMT]]></title><description><![CDATA[<p>Dweb schrieb:</p>
<blockquote>
<p>hmm verstehe gerade nicht warum die Adresse &quot;&amp;ar&quot; zu einem &quot;**&quot; gehört, aber die Adresse &quot;ar&quot; zu einem &quot;*&quot; gehört ?!</p>
</blockquote>
<pre><code class="language-cpp">int *p       = &amp;ar[0]; // 1
int *q       =  ar;    // 2
int (*r)[10] = &amp;ar;    // 3
</code></pre>
<p>1: p ist ein Zeiger auf das erste Element von ar<br />
2: q ist ein Zeiger auf das erste Element (wegen &quot;array-to-pointer decay&quot;)<br />
3: r ist ein Zeiger auf ein Array mit 10 Elementen (ar)</p>
<p>Array-to-Pointer decay: In vielen Kontexten wird ein T[N] automatisch zu T* konvertiert, wobei der resultierende Zeiger auf das erste Element zeigt.</p>
<p>Zu Operator-Präzedenzen: <code>&amp;ar[0]</code> ist dasselbe wie <code>&amp;(ar[0])</code> , weil Postfix-Operatoren stärker binden als Präfix-Operatoren. Dementsprechend kann die Klammer um r nicht weggelassen werden, sonst wäre r ein Array aus 10 int-Zeigern.</p>
<p>Gibt's dazu eigentlich schon einen FAQ-Eintrag? So'ne Frage kommt alle paar Wochen mal dran...</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Hoffentlich bin ich jetzt mit den ganzen * nicht durcheinandergekommen...</p>
</blockquote>
<p>Scheinst aber doch durcheinandergekommen zu sein. int** gibt's hier nirgendswo.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1813065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1813065</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Tue, 24 Nov 2009 19:07:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Array on Tue, 24 Nov 2009 19:33:25 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Hoffentlich bin ich jetzt mit den ganzen * nicht durcheinandergekommen...</p>
</blockquote>
<p>Scheinst aber doch durcheinandergekommen zu sein. int** gibt's hier nirgendswo.</p>
</blockquote>
<p>Und ich schreibe noch im gleichen Satz, dass es ein Zeiger auf ein Array sein soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> . Hab's korrigiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1813076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1813076</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 24 Nov 2009 19:33:25 GMT</pubDate></item></channel></rss>