<?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[Array von Zeigern auf Zeiger]]></title><description><![CDATA[<p>Wie kann ich den ein array von zeigern (int *p2[10]) auf einen Zeiger in einer Funktion übergeben?</p>
<pre><code class="language-cpp">void func(int *temp)
</code></pre>
<p>Also ich will nach möglichkeit in der Funktion nicht irgendwie angeben wie viele Felder. Was gäbe es den da für Möglichkeiten?<br />
Bzw. soll ich die Adresse vom Zeiger vll. besser auf ein &quot;**&quot; übergeben.<br />
Ich brauch zumindestens in meiner funktion irgndwie zugriff auf int *p2[10]</p>
<p>Dankeschön schon mal im Voraus.</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/263642/array-von-zeigern-auf-zeiger</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 16:10:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263642.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Mar 2010 23:18:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array von Zeigern auf Zeiger on Tue, 23 Mar 2010 23:18:34 GMT]]></title><description><![CDATA[<p>Wie kann ich den ein array von zeigern (int *p2[10]) auf einen Zeiger in einer Funktion übergeben?</p>
<pre><code class="language-cpp">void func(int *temp)
</code></pre>
<p>Also ich will nach möglichkeit in der Funktion nicht irgendwie angeben wie viele Felder. Was gäbe es den da für Möglichkeiten?<br />
Bzw. soll ich die Adresse vom Zeiger vll. besser auf ein &quot;**&quot; übergeben.<br />
Ich brauch zumindestens in meiner funktion irgndwie zugriff auf int *p2[10]</p>
<p>Dankeschön schon mal im Voraus.</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873119</guid><dc:creator><![CDATA[Stromberg*]]></dc:creator><pubDate>Tue, 23 Mar 2010 23:18:34 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern auf Zeiger on Tue, 23 Mar 2010 23:24:19 GMT]]></title><description><![CDATA[<p>Der Typ muss **int sein und du musst die Feldlänge mit übergeben. Oder am besten gleich auf derartige Arrays verzichten und lieber boost::array // std::tr1::array nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873120</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Tue, 23 Mar 2010 23:24:19 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern auf Zeiger on Tue, 23 Mar 2010 23:42:49 GMT]]></title><description><![CDATA[<p>Mhm irgendwas mach ich immer noch falsch, dass hier führt zu einem System Error:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void func(int **temp)
{
    cout &lt;&lt; (*temp)[0] &lt;&lt; endl;

}

int main()
{

    int a = 10;
    int b = 20;
    int c = 30;
    int d = 40;

    int *p2[4];
    p2[0] = &amp;a;
    p2[1] = &amp;b;
    p2[2] = &amp;c;
    p2[3] = &amp;d;

    func(&amp;p2[4]);

    return 0;
}
</code></pre>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873123</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Tue, 23 Mar 2010 23:42:49 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern auf Zeiger on Wed, 24 Mar 2010 00:29:32 GMT]]></title><description><![CDATA[<p>Achte darauf welche Operatoren eine höhere Priorität haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873128</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Wed, 24 Mar 2010 00:29:32 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern auf Zeiger on Wed, 24 Mar 2010 00:51:38 GMT]]></title><description><![CDATA[<p>Ernstgemeinte Frage: Was zur Hölle hast du dir dabei gedacht?</p>
<pre><code class="language-cpp">func(&amp;p2[4]);
</code></pre>
<ol>
<li>Greifst du auf Speicher außerhalb deiner Arraygrenzen zu:</li>
</ol>
<pre><code>p2[4]
</code></pre>
<ol start="2">
<li>Holst du dir von diesem ungültigen Speicher die Adresse.</li>
</ol>
<pre><code>&amp;...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1873131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873131</guid><dc:creator><![CDATA[rean]]></dc:creator><pubDate>Wed, 24 Mar 2010 00:51:38 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern auf Zeiger on Wed, 24 Mar 2010 07:03:25 GMT]]></title><description><![CDATA[<p>Warum so umständlich? Nimm doch einfach einen <em>std::vector</em>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873150</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Wed, 24 Mar 2010 07:03:25 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern auf Zeiger on Wed, 24 Mar 2010 10:29:05 GMT]]></title><description><![CDATA[<p>Beim genauren ansehen.. Was für einen Mist machst du bitte in Zeile 26? Du greifst auf einen Index im Array zu, das nicht existiert. Am besten du benutzt gleich C++ Strukturen wie std::vector oder boost::array, dann machst du so einen Mist gar nicht erst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873162</guid><dc:creator><![CDATA[JanJan]]></dc:creator><pubDate>Wed, 24 Mar 2010 10:29:05 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern auf Zeiger on Wed, 24 Mar 2010 11:44:38 GMT]]></title><description><![CDATA[<p>Stromberg* schrieb:</p>
<blockquote>
<p>Wie kann ich den ein array von zeigern (int *p2[10]) auf einen Zeiger in einer Funktion übergeben?</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void func(int **temp)
{
  std::cout &lt;&lt; *temp[0] &lt;&lt; '\n';
  std::cout &lt;&lt; *temp[1] &lt;&lt; '\n';
  std::cout &lt;&lt; *temp[2] &lt;&lt; '\n';
}

int main()
{
  int a = 10;
  int b = 11;
  int c = 12;
  int *avz[3] = {&amp;a, &amp;b, &amp;c};
  func(avz);
}
</code></pre>
<p>Beachte, <code>*temp[1]</code> steht für <code>*(temp[1])</code> und nicht <code>(*temp)[1]</code> . Das ist ein wichtiger Unterschied. Beachte, dass <code>zeiger[x]</code> dasselbe ist wie <code>*(zeiger+x)</code> . Damit hast Du folgendes:</p>
<pre><code>*temp[1]  --&gt; *(*(temp+1))
(*temp)[1] --&gt; *((*temp)+1)
</code></pre>
<p>Du solltest vielleicht weniger spezielle Fragen stellen und mehr von dem Problem erzählen, was Du hier zu lösen versuchst. Es gibt sicherlich bessere Alternativen, als sich mit Doppel-Zeigern rumzuärgern. Aber verstehen solltest Du diese Sache natürlich trotzdem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873217</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 24 Mar 2010 11:44:38 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern auf Zeiger on Wed, 24 Mar 2010 14:20:53 GMT]]></title><description><![CDATA[<p>Oh blöd: func(&amp;p2[4]); war halt schon n bissel spät. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Gruß<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873346</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Wed, 24 Mar 2010 14:20:53 GMT</pubDate></item></channel></rss>