<?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[Multidimensionales Array an Funktion übergeben (Pointer?)]]></title><description><![CDATA[<p>Siehe Titel.</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;

using namespace std;
int func1(/*HIER1*/, int);

int main(int argc, char *argv[])
{
    int Array[2][2];

    Array[0][0] = 1;
    Array[0][1] = 2;
    Array[1][0] = 3;
    Array[1][1] = 4;

    cout &lt;&lt; func(/*HIER2*/, 1) &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}

int func(/*HIER3*/, int pos) {
    return a[pos][pos];    
}
</code></pre>
<p>(sollte Array[1][1] == 4 ausgeben)</p>
<p>Was muss ich an den Stellen HIER1, HIER2 und HIER3 einfügen? Hab schon viel mit Pointern rumprobiert, kriegs aber nicht hin. In main() wird die Größe des Arrays erst eingelesen, deshalb kann es nicht global sein. Ich brauche das Array aber zur weiteren Verarbeitung in func().</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129350/multidimensionales-array-an-funktion-übergeben-pointer</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 04:56:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129350.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Dec 2005 20:34:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Multidimensionales Array an Funktion übergeben (Pointer?) on Mon, 12 Dec 2005 20:34:30 GMT]]></title><description><![CDATA[<p>Siehe Titel.</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;

using namespace std;
int func1(/*HIER1*/, int);

int main(int argc, char *argv[])
{
    int Array[2][2];

    Array[0][0] = 1;
    Array[0][1] = 2;
    Array[1][0] = 3;
    Array[1][1] = 4;

    cout &lt;&lt; func(/*HIER2*/, 1) &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}

int func(/*HIER3*/, int pos) {
    return a[pos][pos];    
}
</code></pre>
<p>(sollte Array[1][1] == 4 ausgeben)</p>
<p>Was muss ich an den Stellen HIER1, HIER2 und HIER3 einfügen? Hab schon viel mit Pointern rumprobiert, kriegs aber nicht hin. In main() wird die Größe des Arrays erst eingelesen, deshalb kann es nicht global sein. Ich brauche das Array aber zur weiteren Verarbeitung in func().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/940624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940624</guid><dc:creator><![CDATA[scel]]></dc:creator><pubDate>Mon, 12 Dec 2005 20:34:30 GMT</pubDate></item><item><title><![CDATA[Reply to Multidimensionales Array an Funktion übergeben (Pointer?) on Mon, 12 Dec 2005 20:44:26 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int func1(int[2][2], int);
cout &lt;&lt; func(Array, 1) &lt;&lt; endl;
int func(int a[2][2], int pos){ };
</code></pre>
<p>Funktioniert, sieht aber doof aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/940630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940630</guid><dc:creator><![CDATA[effe_eichelt]]></dc:creator><pubDate>Mon, 12 Dec 2005 20:44:26 GMT</pubDate></item><item><title><![CDATA[Reply to Multidimensionales Array an Funktion übergeben (Pointer?) on Mon, 12 Dec 2005 21:21:50 GMT]]></title><description><![CDATA[<p>scel schrieb:</p>
<blockquote>
<p>In main() wird die Größe des Arrays erst eingelesen</p>
</blockquote>
<p>soll heissen, dass das Array in jedem Programmdurchlauf ne andere Größe haben kann. Nur die Zweidimensionalität bleibt erhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/940658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940658</guid><dc:creator><![CDATA[scel]]></dc:creator><pubDate>Mon, 12 Dec 2005 21:21:50 GMT</pubDate></item><item><title><![CDATA[Reply to Multidimensionales Array an Funktion übergeben (Pointer?) on Tue, 13 Dec 2005 07:30:22 GMT]]></title><description><![CDATA[<p>scel schrieb:</p>
<blockquote>
<p>In main() wird die Größe des Arrays erst eingelesen, deshalb kann es nicht global sein.</p>
</blockquote>
<p>In dem Fall klasppt das mit dem &quot;int Array[2][2];&quot; aber nicht wirklich (dessen Größe ist fest) - du benötigst einen int** oder int* (da mußt du selber die Indizes umrechnen), den du selber zu einem Array aufbauen kannst:</p>
<pre><code class="language-cpp">//a:
int func1(int** a,int p)
{return a[p][p];}

int main()
{
  int** array=new int*[xs];
  for(int i=0;i&lt;xs;++i) array[i]=new int;
  func1(array,pos);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/940758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940758</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 13 Dec 2005 07:30:22 GMT</pubDate></item></channel></rss>