<?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 int Array]]></title><description><![CDATA[<p>Hallo! Wie macht man eigentlich einen Zeiger auf ein mehrfaches Integer Array?</p>
<pre><code class="language-cpp">int array[3][3];

    int *a[][] = &amp;array;
</code></pre>
<p>Dieses Konstrukt funktioniert irgendwie nicht ...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235931/zeiger-auf-int-array</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 02:59:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235931.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Mar 2009 17:46:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf int Array on Sun, 08 Mar 2009 17:46:31 GMT]]></title><description><![CDATA[<p>Hallo! Wie macht man eigentlich einen Zeiger auf ein mehrfaches Integer Array?</p>
<pre><code class="language-cpp">int array[3][3];

    int *a[][] = &amp;array;
</code></pre>
<p>Dieses Konstrukt funktioniert irgendwie nicht ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676270</guid><dc:creator><![CDATA[Neuling09]]></dc:creator><pubDate>Sun, 08 Mar 2009 17:46:31 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf int Array on Sun, 08 Mar 2009 17:51:03 GMT]]></title><description><![CDATA[<p>Ein Zeiger auf ein Array geht so:</p>
<pre><code class="language-cpp">int array[3][3];

int (*p1)[3][3] = &amp;array;
</code></pre>
<p>Aber ich denke du willst eher einen Zeiger auf das erste Elements des Arrays:</p>
<pre><code class="language-cpp">int array[3][3];

int* p2 = &amp;array[0][0];
</code></pre>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676271</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 08 Mar 2009 17:51:03 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf int Array on Sun, 08 Mar 2009 18:02:43 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Ein Zeiger auf ein Array geht so:</p>
<pre><code class="language-cpp">int array[3][3];

int (*p1)[3][3] = &amp;array;
</code></pre>
<p>Aber ich denke du willst eher einen Zeiger auf das erste Elements des Arrays:</p>
<pre><code class="language-cpp">int array[3][3];

int* p2 = &amp;array[0][0];
</code></pre>
<p>Grüssli</p>
</blockquote>
<p>Wo ist da der Unterschied?<br />
Ich dachte beide Zeiger zeigen dann auf das erste Element.</p>
<p>Noch eine Frage. Im ersten Beispiel ist die Größe vom Array angegeben.<br />
int (*p1)<strong>[3][3]</strong><br />
kann man keine Zeiger deklarieren, deren Größe noch unbestimmt ist, also in etwa so:<br />
int (*p)[][];<br />
?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676279</guid><dc:creator><![CDATA[Neuling09]]></dc:creator><pubDate>Sun, 08 Mar 2009 18:02:43 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf int Array on Sun, 08 Mar 2009 18:09:51 GMT]]></title><description><![CDATA[<blockquote>
<p>kann man keine Zeiger deklarieren, deren Größe noch unbestimmt ist, also in etwa so:<br />
int (*p)[][];</p>
</blockquote>
<p>Das wäre die andere Variante, die Dravere vorgeschlagen hat. Da ist es unbestimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676284</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 08 Mar 2009 18:09:51 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf int Array on Sun, 08 Mar 2009 18:14:23 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<blockquote>
<p>kann man keine Zeiger deklarieren, deren Größe noch unbestimmt ist, also in etwa so:<br />
int (*p)[][];</p>
</blockquote>
<p>Das wäre die andere Variante, die Dravere vorgeschlagen hat. Da ist es unbestimmt.</p>
</blockquote>
<p>Du meinst das hier?</p>
<pre><code class="language-cpp">int* p2 = &amp;array[0][0];
</code></pre>
<p>Woher weiß ich dann wie groß das Array p2 ist?<br />
Muss ich das in einer anderen Variablen speichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676293</guid><dc:creator><![CDATA[Neuling09]]></dc:creator><pubDate>Sun, 08 Mar 2009 18:14:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf int Array on Sun, 08 Mar 2009 18:18:30 GMT]]></title><description><![CDATA[<p>Neuling09 schrieb:</p>
<blockquote>
<p>Wo ist da der Unterschied?<br />
Ich dachte beide Zeiger zeigen dann auf das erste Element.</p>
</blockquote>
<p>Der Unterschied liegt darin, dass ein Array auch ein Datentyp ist. Man kann diesen Datentyp zwar nicht kopieren, aber eine Referenz oder einen Zeiger kann man dafür erstellen. Wenn du das folgende machst:</p>
<pre><code class="language-cpp">int arr[3];

int* p = arr;
</code></pre>
<p>Dann geschieht eine implizite Konvertierung vom Array Datentyp zu einem Zeiger vom Typ <code>int*</code> , welcher auf das erste Element des Arrays zeigt. Aber dahinter steckt eine implizite Konvertierung! Die Variable <code>arr</code> ist kein Zeiger, sondern ein Array.</p>
<p>Der Typ eines Arrays ist von seinen Dimensionen abhängig, daher kann man da nicht einfach auf ein dimensionsloses Array zeigen, sondern muss über die implizite Konvertierung gehen. Also dass man einen Zeiger auf das erste Element nimmt. Dabei gehen aber logischerweise alle Informationen über das Array verloren und man muss diese separat mitführen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676299</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 08 Mar 2009 18:18:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf int Array on Sun, 08 Mar 2009 18:42:42 GMT]]></title><description><![CDATA[<p>Ich möchte aber Zeiger auf mehrdimensionale Arrays haben und das hier funktioniert so nicht:</p>
<pre><code class="language-cpp">int a[2][2];
int* p = a;
</code></pre>
<p>Ok sorry. War jetzt nur auf den letzten Beitrag fixiert ...</p>
<p>Jedenfalls danke für die Antworten. Ich glaube ich blicke nun etwas besser durch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1676306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676306</guid><dc:creator><![CDATA[Neuling09]]></dc:creator><pubDate>Sun, 08 Mar 2009 18:42:42 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf int Array on Sun, 08 Mar 2009 19:26:00 GMT]]></title><description><![CDATA[<p>Man kann auch Referenzen einsetzen, analog zu dem Zeiger auf das gesamte Array. Bei folgendem Code kann <code>Ref</code> genau wie das Array selber behandelt werden.</p>
<pre><code class="language-cpp">int Array[3][3];
int (&amp;Ref)[3][3] = Array;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1676334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1676334</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 08 Mar 2009 19:26:00 GMT</pubDate></item></channel></rss>