<?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übergabe -&amp;gt; Zeiger]]></title><description><![CDATA[<p>Hallo,<br />
wird hier in beiden Fällen als Parameter ein Zeiger übergeben, der die Anfangsadresse des ersten Arrayelements speichert?</p>
<pre><code class="language-cpp">int strlen(char*); //Zeiger als Parameter
int strlent(char[]); //hire auch? Oder wird das gesamte Array kopiert?
</code></pre>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271016/arrayübergabe-gt-zeiger</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 18:02:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271016.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Jul 2010 08:32:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Arrayübergabe -&amp;gt; Zeiger on Thu, 22 Jul 2010 08:32:30 GMT]]></title><description><![CDATA[<p>Hallo,<br />
wird hier in beiden Fällen als Parameter ein Zeiger übergeben, der die Anfangsadresse des ersten Arrayelements speichert?</p>
<pre><code class="language-cpp">int strlen(char*); //Zeiger als Parameter
int strlent(char[]); //hire auch? Oder wird das gesamte Array kopiert?
</code></pre>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929890</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Thu, 22 Jul 2010 08:32:30 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe -&amp;gt; Zeiger on Thu, 22 Jul 2010 08:40:00 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>wird hier in beiden Fällen als Parameter ein Zeiger übergeben,</p>
</blockquote>
<p>Ja.</p>
<p>Als Funktionsparameter findet eine Typ-Transformation statt die ein Array <em>auf oberster Ebene</em> durch einen Zeiger ersetzt: T[], T[N] --&gt; T*. Betonung auf &quot;oberster Ebene&quot;; denn zB <code>int(*)[5]</code> bleibt so, wie es ist, ein Zeiger auf ein 5-elementiges int-Array. Aus int[5][3] wird zB int(*)[3]. Es werden also nicht alle Arrays ersetzt.</p>
<p>freakC++ schrieb:</p>
<blockquote>
<p>der die Anfangsadresse des ersten Arrayelements speichert?</p>
</blockquote>
<p>welches Arrays? Ich sehe keinen Aufruf der Funktionen. &quot;Array-To-Pointer-Decay&quot; ist Dir ein Begriff, ja? (Wenn nicht, such mal danach).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929896</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 22 Jul 2010 08:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe -&amp;gt; Zeiger on Thu, 22 Jul 2010 08:46:17 GMT]]></title><description><![CDATA[<p>Nein, der Ausdruck sagt mich nichts, aber ich bin bereits am Lesen ;).</p>
<p>Ich meine das Array, das übergeben wird.</p>
<p>Mmmh...ich habe echt den Eindrcuk, dass die Autoren meines Buches das Prinzip von Arrays und Pointern selbst nicht verstanden haben, da das gebrachte Statement wieder daraus übernommen wurde.</p>
<p>Danke<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929900</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Thu, 22 Jul 2010 08:46:17 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe -&amp;gt; Zeiger on Thu, 22 Jul 2010 09:14:14 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Mmmh...ich habe echt den Eindrcuk, dass die Autoren meines Buches das Prinzip von Arrays und Pointern selbst nicht verstanden haben, da das gebrachte Statement wieder daraus übernommen wurde.</p>
<p>Danke<br />
lg, freakC++</p>
</blockquote>
<p>Welches Buch liest du denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929912</guid><dc:creator><![CDATA[haha]]></dc:creator><pubDate>Thu, 22 Jul 2010 09:14:14 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe -&amp;gt; Zeiger on Thu, 22 Jul 2010 09:19:53 GMT]]></title><description><![CDATA[<p>C++ lernen und professionell anwenden.</p>
<p>Eigentlich finde ich es sehr gut, doch ich bin nun schon über mehrere Stellen gestolpert, die mir hier im Forum anders erklärt worden sind.</p>
<p>lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929914</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Thu, 22 Jul 2010 09:19:53 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe -&amp;gt; Zeiger on Thu, 22 Jul 2010 09:42:22 GMT]]></title><description><![CDATA[<p>Das ist doch nur eine Spitzfindigkeit. Da wird in der Tat nichts aufgerufen, weil das Deklarationen sind. Aber wenn du diese Funktionen doch mal aufrufst, und ein Array übergibst, dann wird in beiden Fällen ein Zeiger auf das erste Element übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929923</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 22 Jul 2010 09:42:22 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe -&amp;gt; Zeiger on Thu, 22 Jul 2010 09:59:53 GMT]]></title><description><![CDATA[<p>Probier mal etwas mit dem <code>sizeof</code> -Operator herum. Da sieht man schnell, wo aus einem Array ein Zeiger wird:</p>
<pre><code class="language-cpp">typedef char Array10Type[10];
typedef char Array20Type[20];

void fun1(Array10Type arr)
{
    std::cout &lt;&lt; sizeof(arr) &lt;&lt; '\n';
}

void fun2(Array10Type &amp; arr)
{
    std::cout &lt;&lt; sizeof(arr) &lt;&lt; '\n';
}

void fun3(char * arr)
{
    std::cout &lt;&lt; sizeof(arr) &lt;&lt; '\n';
}

void fun4(char arr[])
{
    std::cout &lt;&lt; sizeof(arr) &lt;&lt; '\n';
}

int main()
{
    Array10Type arr10 = {};
    fun1(arr10);
    fun2(arr10);
    fun3(arr10);
    fun4(arr10);

    Array20Type arr20 = {};
    fun1(arr20); //okay
    fun2(arr20); //Fehler. Hier wird ein Array10-Objekt erwartet da T &amp; uebergeben wird
    fun3(arr20); //okay
    fun4(arr20); //okay       
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1929933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929933</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 22 Jul 2010 09:59:53 GMT</pubDate></item></channel></rss>