<?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[Problem beim Interieren über Zeiger]]></title><description><![CDATA[<p>Hallo,</p>
<p>arbeite mich derzeit (notgedrungen) in c++ ein und habe ein problem beim iterieren über zeiger.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main( int argc, char const* argv[])
{
    cout&lt;&lt;argc&lt;&lt;endl;
    while(*argv)
    {
        cout&lt;&lt;*argv;
        argv++;
    }
    cout&lt;&lt;endl;
    char* test = &quot;lalala&quot;;
    char* test1 = &quot;bububu&quot;;

    char* zeigtests[]={test, test1, '\0'};
//    while(*zeigtests)
//    {
        cout &lt;&lt; *zeigtests&lt;&lt;endl;
        //zeigtests++;                               &lt;---- führt zu fehler (invalid lval in assignment)
//    }
        cout &lt;&lt; *(zeigtests + 1)&lt;&lt;endl;
        cout &lt;&lt; *(zeigtests + 2)&lt;&lt;endl;
}
</code></pre>
<p>wollte mir testweise einen zeiger auf weitere zeiger bauen (wie beim übergabeparameter *argv[] jedoch bekomme ich einen fehler wenn ich über den zeiger iterieren will. (Zeile 22)</p>
<p>Ich bekomme allerdings keinen fehler bei den zeilen 24 + 25</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219741/problem-beim-interieren-über-zeiger</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 19:03:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219741.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 Aug 2008 06:50:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 06:50:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>arbeite mich derzeit (notgedrungen) in c++ ein und habe ein problem beim iterieren über zeiger.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main( int argc, char const* argv[])
{
    cout&lt;&lt;argc&lt;&lt;endl;
    while(*argv)
    {
        cout&lt;&lt;*argv;
        argv++;
    }
    cout&lt;&lt;endl;
    char* test = &quot;lalala&quot;;
    char* test1 = &quot;bububu&quot;;

    char* zeigtests[]={test, test1, '\0'};
//    while(*zeigtests)
//    {
        cout &lt;&lt; *zeigtests&lt;&lt;endl;
        //zeigtests++;                               &lt;---- führt zu fehler (invalid lval in assignment)
//    }
        cout &lt;&lt; *(zeigtests + 1)&lt;&lt;endl;
        cout &lt;&lt; *(zeigtests + 2)&lt;&lt;endl;
}
</code></pre>
<p>wollte mir testweise einen zeiger auf weitere zeiger bauen (wie beim übergabeparameter *argv[] jedoch bekomme ich einen fehler wenn ich über den zeiger iterieren will. (Zeile 22)</p>
<p>Ich bekomme allerdings keinen fehler bei den zeilen 24 + 25</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560561</guid><dc:creator><![CDATA[cpp_noob]]></dc:creator><pubDate>Thu, 07 Aug 2008 06:50:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 07:10:39 GMT]]></title><description><![CDATA[<p><code>zeigtests</code> ist bei dir nicht wirklich ein Zeiger, sondern vielmehr ein Array aus <code>char*</code> . Du kannst deshalb nicht einfach die Array-Startadresse ändern, sondern brauchst einen separaten Zeiger als Iterator:</p>
<pre><code class="language-cpp">char* test = &quot;lalala&quot;;
    char* test1 = &quot;bububu&quot;;
	char* zeigtests[] = {test, test1, NULL};
	char** zeiger = zeigtests;   // Zeiger = Anfangsadresse des Arrays

    while(*zeiger)
    {
		cout &lt;&lt; *zeiger &lt;&lt; endl;
        ++zeiger;   
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1560573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560573</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 07 Aug 2008 07:10:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 07:14:40 GMT]]></title><description><![CDATA[<p>Aber was mich auch mal interssieren würde. Warum geht es dann bei argv? ist schließlich der selbe aufbau oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560574</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 07 Aug 2008 07:14:40 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 07:17:21 GMT]]></title><description><![CDATA[<p>Firefighter schrieb:</p>
<blockquote>
<p>Aber was mich auch mal interssieren würde. Warum geht es dann bei argv? ist schließlich der selbe aufbau oder nicht?</p>
</blockquote>
<p>Es gibt keine Arrayübergabe bei Funktionsaufrufen. D.h. argv ist in Wirklichkeit vom Typ char**.</p>
<p>EDIT:<br />
Ist eigentlich gelogen, man kann eine Referenz auf ein Array übergeben, wenn die Größe bekannt ist. Das ist hier aber nicht der Fall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560575</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 07 Aug 2008 07:17:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 07:18:52 GMT]]></title><description><![CDATA[<p>Ahh logisch, stimmt daran hatte ich gar nicht gedachte, danke dir LordJaxom</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560576</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 07 Aug 2008 07:18:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 07:31:42 GMT]]></title><description><![CDATA[<p>vielen dank für die schnelle antwort.</p>
<p>wieder ein bisschen schlauer <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>Aber komme von python und bisher gefällt mir c++ überhaupt nicht (mal abgesehen von der geschwindigkeit)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560579</guid><dc:creator><![CDATA[cpp_noob]]></dc:creator><pubDate>Thu, 07 Aug 2008 07:31:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 07:47:28 GMT]]></title><description><![CDATA[<p>cpp_noob schrieb:</p>
<blockquote>
<p>Aber komme von python und bisher gefällt mir c++ überhaupt nicht (mal abgesehen von der geschwindigkeit)</p>
</blockquote>
<p>Das ist doch immer so, wenn man gezwungen wird mit einer anderen Sprache zu arbeiten.</p>
<p>Arbeite mal mit Ada und du wirst nicht aufhören zu kotzen. Fängt man aber ganz unbefangen mit der Sprache an und läßt sich komplett drauf ein, wird man begeistert sein. Das gilt wohl für alle Sprachen, außer vielleicht für Brainfuck. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560589</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 07 Aug 2008 07:47:28 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 08:21:19 GMT]]></title><description><![CDATA[<p>cpp_noob schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>arbeite mich derzeit (notgedrungen) in c++ ein und habe ein problem beim iterieren über zeiger....</p>
</blockquote>
<p>(Falls das nicht eine Übung war)<br />
Für Zeichenkettenverarbeitung hat C++ std::string und für &quot;Verwaltung mehrerer Objekte&quot; Container (vector, map, list, ....) mit entsprechenden It- und Operatoren<br />
... und das reduziert massiv den &quot;Kotzfaktor&quot;. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560620</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 07 Aug 2008 08:21:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 09:02:10 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>[...]Arbeite mal mit Ada und du wirst nicht aufhören zu kotzen.[...]</p>
</blockquote>
<p>Dem kann ich nur voll und kanz zustimmen. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560666</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 07 Aug 2008 09:02:10 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Interieren über Zeiger on Thu, 07 Aug 2008 15:58:45 GMT]]></title><description><![CDATA[<p>cpp_noob schrieb:</p>
<blockquote>
<pre><code class="language-cpp">cout &lt;&lt; *(zeigtests + 1)&lt;&lt;endl;  // Zeile 24
        cout &lt;&lt; *(zeigtests + 2)&lt;&lt;endl;  // Zeile 25
</code></pre>
<p>Ich bekomme allerdings keinen fehler bei den zeilen 24 + 25</p>
</blockquote>
<p>Das liegt daran, dass da das Array (genauer dessen Anfangsadresse) nicht verändert wird. Der Bezeichner <code>zeigtests</code> kann in diesem Kontext als (sozusagen konstanter) Zeiger verwendet werden, womit auch die Zeigerarithmetik funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560959</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 07 Aug 2008 15:58:45 GMT</pubDate></item></channel></rss>