<?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[Arraygröße übermitteln]]></title><description><![CDATA[<p>Ich brauche für eine Funktion die Größe eines Arrays, welches aber nur als Zeiger vorhanden ist. Bspl:</p>
<pre><code>void Funktion( int *Array )
{
int size = sizeof(Array);
std::cout &lt;&lt; size;
}
</code></pre>
<p>So kommt aber bei meinem Array welches 10 Member hat, nur eine Größe von 4 raus. Was muss ich anders machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/327284/arraygröße-übermitteln</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 13:10:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/327284.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Aug 2014 08:56:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Arraygröße übermitteln on Sat, 02 Aug 2014 08:56:10 GMT]]></title><description><![CDATA[<p>Ich brauche für eine Funktion die Größe eines Arrays, welches aber nur als Zeiger vorhanden ist. Bspl:</p>
<pre><code>void Funktion( int *Array )
{
int size = sizeof(Array);
std::cout &lt;&lt; size;
}
</code></pre>
<p>So kommt aber bei meinem Array welches 10 Member hat, nur eine Größe von 4 raus. Was muss ich anders machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411581</guid><dc:creator><![CDATA[MrBambi]]></dc:creator><pubDate>Sat, 02 Aug 2014 08:56:10 GMT</pubDate></item><item><title><![CDATA[Reply to Arraygröße übermitteln on Sat, 02 Aug 2014 09:02:29 GMT]]></title><description><![CDATA[<p>MrBambi schrieb:</p>
<blockquote>
<p>Ich brauche für eine Funktion die Größe eines Arrays, welches aber nur als Zeiger vorhanden ist. […]<br />
So kommt aber bei meinem Array welches 10 Member hat, nur eine Größe von 4 raus. Was muss ich anders machen?</p>
</blockquote>
<p>Die Größe des Arrays mitübergeben oder die Daten als std::array oder std::vector oä. übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411582</guid><dc:creator><![CDATA[nman]]></dc:creator><pubDate>Sat, 02 Aug 2014 09:02:29 GMT</pubDate></item><item><title><![CDATA[Reply to Arraygröße übermitteln on Sat, 02 Aug 2014 09:05:44 GMT]]></title><description><![CDATA[<p>Array ist ein Zeiger. Folglich entspricht <code>sizeof Array</code> der Größe eines Zeigers.</p>
<blockquote>
<p>Was muss ich anders machen?</p>
</blockquote>
<p>Die Größe irgendwie anders bekommen.</p>
<p>Einige Möglichkeiten:</p>
<pre><code>void Funktion( int *Array, std::size_t size ) // Explizit angeben

template &lt;std::size_t N&gt;
void Funktion( int (&amp;Array)[N] ) // N ist die Größe, deduziert - funktioniert nur bei echten Arrayobjekten als Argumenten

void Funktion( int* first, int* last ) // last zeigt auf die Adresse hinter dem letzten Element. last - first ergibt die Größe
</code></pre>
<p>Ich würde dir eigentlich eine Lösung mit Templates und Iteratoren zeigen, bin aber unsicher ob du diese verstehen würdest.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1138">@nman</a>: Seit wann treibst du dich im C++-Board rum? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411583</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sat, 02 Aug 2014 09:05:44 GMT</pubDate></item><item><title><![CDATA[Reply to Arraygröße übermitteln on Sat, 02 Aug 2014 09:11:00 GMT]]></title><description><![CDATA[<p>Ich kann nur die Größe des Arrays nicht mitangeben da sich diese immer wieder verändern kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411586</guid><dc:creator><![CDATA[MrBambi]]></dc:creator><pubDate>Sat, 02 Aug 2014 09:11:00 GMT</pubDate></item><item><title><![CDATA[Reply to Arraygröße übermitteln on Sat, 02 Aug 2014 09:12:30 GMT]]></title><description><![CDATA[<p>MrBambi schrieb:</p>
<blockquote>
<p>Ich kann nur die Größe des Arrays nicht mitangeben da sich diese immer wieder verändern kann.</p>
</blockquote>
<p>Doch aber nicht während des Funktionsaufrufs. Die Größe wirst du doch stets vor dem Aufruf kennen, also sehe ich da kein Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411587</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sat, 02 Aug 2014 09:12:30 GMT</pubDate></item><item><title><![CDATA[Reply to Arraygröße übermitteln on Sat, 02 Aug 2014 09:14:16 GMT]]></title><description><![CDATA[<p>MrBambi schrieb:</p>
<blockquote>
<p>Ich kann nur die Größe des Arrays nicht mitangeben da sich diese immer wieder verändern kann.</p>
</blockquote>
<p>Darum nimmst du einfach das:</p>
<pre><code>template &lt;std::size_t N&gt;
void Funktion( int (&amp;Array)[N] ) // N ist die Größe, deduziert - funktioniert nur bei echten Arrayobjekten als Argumenten
{
    cout &lt;&lt; &quot;Array hat &quot; &lt;&lt; N &lt;&lt; &quot; Elemente.&quot;;
}
</code></pre>
<p>Die Variable N hat die Größe deines Arrays. Einfach N benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411588</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 02 Aug 2014 09:14:16 GMT</pubDate></item><item><title><![CDATA[Reply to Arraygröße übermitteln on Sat, 02 Aug 2014 09:17:57 GMT]]></title><description><![CDATA[<p>Dann musst du dafür eine Variable benutzen.</p>
<p>An der Stelle, wo das Array definiert wird, ist die Größe auch bekannt.<br />
Da funktioniert <code>sizeof richtig</code></p>
<p>Bedenke aber, das sizeof die Göße in Bytes angibt und nicht die Anzahl der Elemente.</p>
<p>Die bekommst du mit <code>sizeof(array)/sizeof(*array)</code></p>
<p>~Edit, Arcoth: Tags korrigiert.~</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411589</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Sat, 02 Aug 2014 09:17:57 GMT</pubDate></item><item><title><![CDATA[Reply to Arraygröße übermitteln on Sat, 02 Aug 2014 09:19:42 GMT]]></title><description><![CDATA[<p>Perfekt. Habe jetzt eine Lösung gefunden. Danke euch!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411591</guid><dc:creator><![CDATA[MrBambi]]></dc:creator><pubDate>Sat, 02 Aug 2014 09:19:42 GMT</pubDate></item></channel></rss>