<?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[Brett vorm Kopf -&amp;gt; Zeiger]]></title><description><![CDATA[<p>Hi, irgendwie blick ich grad garnicht merh durch:</p>
<pre><code class="language-cpp">void Function(char *szSource)
{
   char TEST[50] = {&quot;Ich soll den dummen Zeiger :D&quot;};
   szSource = TEST;
}
</code></pre>
<p>Jetzt &quot;ist&quot; szSource zwar TEST, aber den CharZeiger den ich dieser Funktion übergeben habe natürlich nicht... Wie kann ich das anstellen ?<br />
Beispiel:</p>
<pre><code class="language-cpp">void Function(char *szSource)
{
   char TEST[50] = {&quot;Ich soll in den dummen Zeiger :D&quot;};
   szSource = TEST;
}

//...
// Im Code iwann..
char* CharValue;

Function(CharValue); 

cout &lt;&lt; CharValue; //So hier soll jetzt TEST drinne sein, aber iwie komm ich nicht mehr daruf.. Dachte erst an eine Referenz, 
// aber das geht ja bei strcpy oder auch da übergibt man ja auch nur nen Zeiger
</code></pre>
<p>Kann sein das die Frage grad völlig lächerlich ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Aber ich komm einfach nicht mehr drauf wie das ging <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188195/brett-vorm-kopf-gt-zeiger</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 02:03:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188195.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Jul 2007 00:23:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Brett vorm Kopf -&amp;gt; Zeiger on Sun, 29 Jul 2007 00:24:52 GMT]]></title><description><![CDATA[<p>Hi, irgendwie blick ich grad garnicht merh durch:</p>
<pre><code class="language-cpp">void Function(char *szSource)
{
   char TEST[50] = {&quot;Ich soll den dummen Zeiger :D&quot;};
   szSource = TEST;
}
</code></pre>
<p>Jetzt &quot;ist&quot; szSource zwar TEST, aber den CharZeiger den ich dieser Funktion übergeben habe natürlich nicht... Wie kann ich das anstellen ?<br />
Beispiel:</p>
<pre><code class="language-cpp">void Function(char *szSource)
{
   char TEST[50] = {&quot;Ich soll in den dummen Zeiger :D&quot;};
   szSource = TEST;
}

//...
// Im Code iwann..
char* CharValue;

Function(CharValue); 

cout &lt;&lt; CharValue; //So hier soll jetzt TEST drinne sein, aber iwie komm ich nicht mehr daruf.. Dachte erst an eine Referenz, 
// aber das geht ja bei strcpy oder auch da übergibt man ja auch nur nen Zeiger
</code></pre>
<p>Kann sein das die Frage grad völlig lächerlich ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Aber ich komm einfach nicht mehr drauf wie das ging <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334149</guid><dc:creator><![CDATA[Foxx90]]></dc:creator><pubDate>Sun, 29 Jul 2007 00:24:52 GMT</pubDate></item><item><title><![CDATA[Reply to Brett vorm Kopf -&amp;gt; Zeiger on Sun, 29 Jul 2007 00:24:40 GMT]]></title><description><![CDATA[<p>mit strcpy oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334150</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sun, 29 Jul 2007 00:24:40 GMT</pubDate></item><item><title><![CDATA[Reply to Brett vorm Kopf -&amp;gt; Zeiger on Sun, 29 Jul 2007 00:26:13 GMT]]></title><description><![CDATA[<p>Das PRoblem ist das ich ja nur den Wert im Scope änder und nicht die Variable (in dem Fall Zeiger) den ich der Funktion übergebe, weil ja der char* Zeiger direct zum Array sobalt ich ihn zuweise... ^^</p>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334151</guid><dc:creator><![CDATA[Foxx90]]></dc:creator><pubDate>Sun, 29 Jul 2007 00:26:13 GMT</pubDate></item><item><title><![CDATA[Reply to Brett vorm Kopf -&amp;gt; Zeiger on Sun, 29 Jul 2007 01:21:55 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void sepp(char** p)
{
    *p = &quot;test234&quot;;
}

int main()
{
    char* p;
    sepp(&amp;p);
    std::cout &lt;&lt; p;
}
</code></pre>
<p>Soweit so gut. Probleme bekommst du aber sobald du in einen Zeiger etwas reinschreibst was zerstört wird bevor/während der Zeiger verwendet wird, also z.B. wenn du die Adresse einer lokalen Variable reinsteckst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334164</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 29 Jul 2007 01:21:55 GMT</pubDate></item><item><title><![CDATA[Reply to Brett vorm Kopf -&amp;gt; Zeiger on Sun, 29 Jul 2007 08:58:34 GMT]]></title><description><![CDATA[<p>Das prob is bei diesem code:</p>
<pre><code>void Function(char *szSource)
{
   char TEST[50] = {&quot;Ich soll in den dummen Zeiger :D&quot;};
   szSource = TEST;    // Übergabe des WERTES von TEST an einen Zeiger(geht nicht,compiler fehler)
}

//...
// Im Code iwann..
char* CharValue;

Function(CharValue);

cout &lt;&lt; CharValue;
</code></pre>
<p>gibst du einen zeichenwert an einen Zeiger, was nicht geht da ein Zeiger zum aufnehmen einer adresse gemacht ist.<br />
Wenn du jedoch die adresse von TEST an den zeiger übergibst geht das auch nicht, da TEST <strong>NUR</strong> innerhalb der Funktion gültig ist.</p>
<p>Lösungsvorschlag:</p>
<pre><code>void Function(char szSource[50])
{
   char TEST[50] = {&quot;Ich soll in den dummen Zeiger :D&quot;};
   szSource = TEST;
}

//...
// Im Code iwann..
char CharValue[50];

Function(CharValue);

cout &lt;&lt; CharValue;
</code></pre>
<p>Ich hoffe das hilft dir weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334199</guid><dc:creator><![CDATA[Yazoo]]></dc:creator><pubDate>Sun, 29 Jul 2007 08:58:34 GMT</pubDate></item><item><title><![CDATA[Reply to Brett vorm Kopf -&amp;gt; Zeiger on Sun, 29 Jul 2007 20:52:13 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16154">@Yazoo</a>: sorry, aber das funktioniert genausowenig wie der Code des OP.<br />
Dein &quot;char szSource[50]&quot; Parameter führt genauso dazu dass ein Zeiger übergeben wird, und die Zuweisung auf &quot;szSource&quot; führt auch nicht dazu dass ein String kopiert wird, sondern es wird bloss der Zeiger verbogen.</p>
<p>Funktionieren würde es mit strcpy.</p>
<p>Diese &quot;Arraysyntax&quot; bei Parametern ist ein Relikt aus C welches leider in C++ übernommen wurde, und nur Kopfweh verursacht. Am besten man vergisst dass sowas möglich ist, und schreibt anstelle dessen gleich eine Referenz:</p>
<pre><code class="language-cpp">void Function(char (&amp;szSource)[50])
{...}
</code></pre>
<p>Dann wirft der Compiler wenigstens auch eine Fehlermeldung raus wenn man eine Zuweisung versucht.</p>
<p>Oder man merkt sich: in C++ können Arrays nicht mit &quot;=&quot; kopiert werden.</p>
<pre><code class="language-cpp">void f()
{
   int x[2];
   int y[2];
   x = y; // Fehler, geht nicht
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1334628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334628</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 29 Jul 2007 20:52:13 GMT</pubDate></item></channel></rss>