<?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[Operatoren Priorität - Verständnis]]></title><description><![CDATA[<p>Hey Leute!<br />
Ich hab eine ganz Simple kleine Frage , die mich trotz allem echt wahnsinnig macht :</p>
<pre><code class="language-cpp">int *ptr_array[12]; 
int (*array_ptr)[12];
</code></pre>
<p>Ersteres erstellt ja ein Array aus Pointern , und zweiteres ein ptr auf int[12]. Aber warum? Eigentlich hat ja der Indexoperator eine höhere Prio und nach meinem Verständnis sollte es dann genau umgekehrt sein. Kann mir das mal einer genau erklären ?<br />
Und wenn er schon dabei ist , vielleicht auch noch wie das im Speicher aussieht mit den Pointern auf Funktionen mit bestimmten Parametern und Returntypen , odernist das nur Compilerspezifisch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/292655/operatoren-priorität-verständnis</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 20:03:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/292655.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Sep 2011 18:11:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operatoren Priorität - Verständnis on Wed, 14 Sep 2011 18:11:47 GMT]]></title><description><![CDATA[<p>Hey Leute!<br />
Ich hab eine ganz Simple kleine Frage , die mich trotz allem echt wahnsinnig macht :</p>
<pre><code class="language-cpp">int *ptr_array[12]; 
int (*array_ptr)[12];
</code></pre>
<p>Ersteres erstellt ja ein Array aus Pointern , und zweiteres ein ptr auf int[12]. Aber warum? Eigentlich hat ja der Indexoperator eine höhere Prio und nach meinem Verständnis sollte es dann genau umgekehrt sein. Kann mir das mal einer genau erklären ?<br />
Und wenn er schon dabei ist , vielleicht auch noch wie das im Speicher aussieht mit den Pointern auf Funktionen mit bestimmten Parametern und Returntypen , odernist das nur Compilerspezifisch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119427</guid><dc:creator><![CDATA[Gast___]]></dc:creator><pubDate>Wed, 14 Sep 2011 18:11:47 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren Priorität - Verständnis on Wed, 14 Sep 2011 18:46:01 GMT]]></title><description><![CDATA[<p>In diesem Kontext sind [] eben kein Indexoperator, das ist ein sog. Deklarator. Deklaratoren werden von innen nach außen geschrieben.</p>
<pre><code class="language-cpp">int (*ptr) [42];
</code></pre>
<p>Liest man daher als &quot;Zeiger namens ptr auf ein Array aus 42 ints&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119443</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 14 Sep 2011 18:46:01 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren Priorität - Verständnis on Wed, 14 Sep 2011 19:15:35 GMT]]></title><description><![CDATA[<p>Gast___ schrieb:</p>
<blockquote>
<p>Hey Leute!<br />
Ich hab eine ganz Simple kleine Frage , die mich trotz allem echt wahnsinnig macht :</p>
<pre><code class="language-cpp">int *ptr_array[12]; 
int (*array_ptr)[12];
</code></pre>
<p>Ersteres erstellt ja ein Array aus Pointern , und zweiteres ein ptr auf int[12]. Aber warum? Eigentlich hat ja der Indexoperator eine höhere Prio und nach meinem Verständnis sollte es dann genau umgekehrt sein. Kann mir das mal einer genau erklären ?</p>
</blockquote>
<p>Es ist genau so, <strong>weil</strong> der Indexoperator eine höhere Priorität hat. (Wie PI sagt, <strong>ist</strong> das zwar kein Indexoperator, aber die Regeln entsprechen soweit möglich denen der Ausdruckssyntax. Bei Dingen wie Referenzen oder Memberzeigern weicht die Ähnlichkeit natürlich ein bisschen auf.)</p>
<p>Der erste Deklarator ist also explizit geklammert so: <code>int *(ptr_array[12]);</code> , und jetzt siehst du, dass der Index-Operator auf ptr_array angewendet wird, ptr_array muss also ein Array sein. Das Ergebnis von ptr_array[12] wird dann dereferenziert, also muss es ein Zeiger sein. Das Ergebnis davon wiederum ist, wie der Typ auf der linken Seite anzeigt int. Zusammengefasst: Array[12] von Zeigern auf int.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119459</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 14 Sep 2011 19:15:35 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren Priorität - Verständnis on Wed, 14 Sep 2011 23:01:22 GMT]]></title><description><![CDATA[<p>Das Forum mag keine * in URLs, daher hier ein paar interessante Links zum selber Copy&amp;Pasten:</p>
<pre><code>h[b][/b]ttp://cd[b][/b]ecl.ridic[b][/b]ulousfish.c[b][/b]om/?q=int+*ptr_array[12]
h[b][/b]ttp://cd[b][/b]ecl.ridiculou[b][/b]sfish.c[b][/b]om/?q=int+%28*array_ptr%29[12]
</code></pre>
<p>Es beantwortet zwar nicht die gestellte Frage, dafür aber sicherlich so manche zukünftige Frage <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2119523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2119523</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 14 Sep 2011 23:01:22 GMT</pubDate></item></channel></rss>