<?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[Zeiger auf Zeiger]]></title><description><![CDATA[<p>Hallo,</p>
<p>bin c++ Anfänger und habe folgendes code Beispiel:</p>
<p>int scmp(const void *a, const void *b) {<br />
char *pa = *(char**)a;<br />
char *pb = *(char**)b;<br />
return strcmp(pa,pb);<br />
}<br />
Ok ich verstehe, dass Zeiger auf void in Zeiger auf char umgewandelt wird. Dazu benötigt man beim Casten die Adresse von char und beim Zuweisen. Hier verstehe ich nicht, warum man einen Zeiger auf einen char Zeiger benötigt.<br />
ich hätte:<br />
char *pb = *(char*)b;</p>
<p>was nicht funktioniert, aber warum?</p>
<p>strcmp ist nirgendwo deklariert, kommt die Funktion aus der header &lt;cstdlib&gt;?</p>
<p>Und dann 2. Verständnisproblem<br />
code</p>
<p>return ia &gt; ib ? 1 : -1;</p>
<p>Bedeutet das, dass bei ia &gt; ib 1 zurückgegeben wird sonst -1?</p>
<p>Hoffe, dass es mir jemand erklären kann.<br />
Vielen Dank im Vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162065/zeiger-auf-zeiger</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 03:02:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162065.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 14 Oct 2006 11:28:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf Zeiger on Sat, 14 Oct 2006 11:28:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>bin c++ Anfänger und habe folgendes code Beispiel:</p>
<p>int scmp(const void *a, const void *b) {<br />
char *pa = *(char**)a;<br />
char *pb = *(char**)b;<br />
return strcmp(pa,pb);<br />
}<br />
Ok ich verstehe, dass Zeiger auf void in Zeiger auf char umgewandelt wird. Dazu benötigt man beim Casten die Adresse von char und beim Zuweisen. Hier verstehe ich nicht, warum man einen Zeiger auf einen char Zeiger benötigt.<br />
ich hätte:<br />
char *pb = *(char*)b;</p>
<p>was nicht funktioniert, aber warum?</p>
<p>strcmp ist nirgendwo deklariert, kommt die Funktion aus der header &lt;cstdlib&gt;?</p>
<p>Und dann 2. Verständnisproblem<br />
code</p>
<p>return ia &gt; ib ? 1 : -1;</p>
<p>Bedeutet das, dass bei ia &gt; ib 1 zurückgegeben wird sonst -1?</p>
<p>Hoffe, dass es mir jemand erklären kann.<br />
Vielen Dank im Vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1154554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1154554</guid><dc:creator><![CDATA[*lt*---*gt*]]></dc:creator><pubDate>Sat, 14 Oct 2006 11:28:50 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Zeiger on Sat, 14 Oct 2006 11:46:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char *pa = *(char**)a;
</code></pre>
<p>Das ist doppelt gemoppelt.<br />
Durch die Dereferenzierung(das ist das Sternchen vor der Klammer) machst du aus dem char** wieder nen char* .<br />
Deine Variante</p>
<pre><code class="language-cpp">char *pb = *(char*)b;
</code></pre>
<p>funktioniert nicht weil du,das nach char* gecastete b dereferenzierst wodurch du nen char bekommst und dieses dem char* zuweisen möchtest.</p>
<pre><code class="language-cpp">char *pb = (char*)b;
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">char *pb = static_cast&lt;char*&gt;(b);
</code></pre>
<p>sind die Wege zum Glück <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>EDIT:Dein 2. Problem hast du richtig erkannt.</p>
<p>Gruß Spacelord</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1154570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1154570</guid><dc:creator><![CDATA[Spacelord]]></dc:creator><pubDate>Sat, 14 Oct 2006 11:46:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Zeiger on Sat, 14 Oct 2006 13:21:17 GMT]]></title><description><![CDATA[<p>Ich sage es nun mal in aller Deutlichkeit, für alle die zur Zeit keine oder nur wenig, wie es sich ja in anderen Threads und auch anderen Foren, bereits gezeigt hat, aber nie wirklich aussagekräftig erklärt wurde, dass es von, ich nenne sie jetzt einfach einmal Kollegen, bereits zum Ausdruck gebracht wurde, es so nicht umgesetzt werden kann. Deshalb braucht es, wie ich schon in früheren Beiträgen schon erwähnte, eine deutliche Änderung der Vorgehensweise, damit das Problem in Zukunft nicht mehr auftritt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1154621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1154621</guid><dc:creator><![CDATA[Minister]]></dc:creator><pubDate>Sat, 14 Oct 2006 13:21:17 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Zeiger on Sat, 14 Oct 2006 15:11:17 GMT]]></title><description><![CDATA[<p>Endlich mal jemand der sich dieses Problems annimmt<br />
und es auch klar auf den Punkt bringt!</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1154678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1154678</guid><dc:creator><![CDATA[Javaner]]></dc:creator><pubDate>Sat, 14 Oct 2006 15:11:17 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Zeiger on Sun, 15 Oct 2006 02:52:58 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void test(void **p)
{
   ...
}

int main()
{
   int *ptr;
   void test((void**)&amp;ptr);     &lt;--- ist diese zeiche gleich der nächsten zeile?
   void test(&amp;ptr);             &lt;---
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1154921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1154921</guid><dc:creator><![CDATA[Nasianer]]></dc:creator><pubDate>Sun, 15 Oct 2006 02:52:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Zeiger on Sun, 15 Oct 2006 17:32:53 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich sage es nun mal in aller Deutlichkeit, für alle die zur Zeit keine oder nur wenig, wie es sich ja in anderen Threads und auch anderen Foren, bereits gezeigt hat, aber nie wirklich aussagekräftig erklärt wurde, dass es von, ich nenne sie jetzt einfach einmal Kollegen, bereits zum Ausdruck gebracht wurde, es so nicht umgesetzt werden kann. Deshalb braucht es, wie ich schon in früheren Beiträgen schon erwähnte, eine deutliche Änderung der Vorgehensweise, damit das Problem in Zukunft nicht mehr auftritt.</p>
</blockquote>
<p>Spitze! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1155245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1155245</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sun, 15 Oct 2006 17:32:53 GMT</pubDate></item></channel></rss>