<?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[Verständnis Pointer]]></title><description><![CDATA[<p>Hallo, ich habe gerade irgendwie ein kleines Verständnisproblem.</p>
<p><strong>Beispiel1:</strong></p>
<pre><code class="language-cpp">char test = a;
</code></pre>
<p>Das ist klar test enthält a.</p>
<p><strong>Beispiel2:</strong></p>
<pre><code class="language-cpp">char *test = a;
</code></pre>
<p>soweit auch klar test ist der Pointer zu dem wert a</p>
<p><strong>Beispiel3:</strong></p>
<pre><code class="language-cpp">const char test = a;
</code></pre>
<p>Das ist auch klar, bedeutet das der Wert von test nicht änderbar ist.</p>
<p>So aber jetzt mein Problem:<br />
<strong>Beispiel3:</strong></p>
<pre><code class="language-cpp">const char *test = a;
</code></pre>
<p>Was bedeutet das? Was ist konstant und was ist änderbar? Kann ich den wert von test ändern oder bedeutet es das ich den type (char) nicht ändern kann?</p>
<p>thx for help</p>
<p>so long jd</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204722/verständnis-pointer</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 18:51:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204722.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 06 Feb 2008 12:44:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnis Pointer on Wed, 06 Feb 2008 12:44:36 GMT]]></title><description><![CDATA[<p>Hallo, ich habe gerade irgendwie ein kleines Verständnisproblem.</p>
<p><strong>Beispiel1:</strong></p>
<pre><code class="language-cpp">char test = a;
</code></pre>
<p>Das ist klar test enthält a.</p>
<p><strong>Beispiel2:</strong></p>
<pre><code class="language-cpp">char *test = a;
</code></pre>
<p>soweit auch klar test ist der Pointer zu dem wert a</p>
<p><strong>Beispiel3:</strong></p>
<pre><code class="language-cpp">const char test = a;
</code></pre>
<p>Das ist auch klar, bedeutet das der Wert von test nicht änderbar ist.</p>
<p>So aber jetzt mein Problem:<br />
<strong>Beispiel3:</strong></p>
<pre><code class="language-cpp">const char *test = a;
</code></pre>
<p>Was bedeutet das? Was ist konstant und was ist änderbar? Kann ich den wert von test ändern oder bedeutet es das ich den type (char) nicht ändern kann?</p>
<p>thx for help</p>
<p>so long jd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1450497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1450497</guid><dc:creator><![CDATA[jd]]></dc:creator><pubDate>Wed, 06 Feb 2008 12:44:36 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Pointer on Wed, 06 Feb 2008 12:51:22 GMT]]></title><description><![CDATA[<p>jd schrieb:</p>
<blockquote>
<p>So aber jetzt mein Problem:<br />
<strong>Beispiel3:</strong></p>
<pre><code class="language-cpp">const char *test = a;
</code></pre>
<p>Was bedeutet das? Was ist konstant und was ist änderbar? Kann ich den wert von test ändern oder bedeutet es das ich den type (char) nicht ändern kann?</p>
</blockquote>
<p>Letzteres ist richtig. const bezieht sich immer auf das was links (!) von const steht, es sei denn, da steht nichts, dann bezieht sich const auf das was rechts steht und das wäre in diesem Fall 'char' (nicht char*).</p>
<p>Soll die Variable test const - also der Pointer auf das char - const sein, so muss man:</p>
<pre><code class="language-cpp">char* const test = a;
</code></pre>
<p>schreiben. Nun lässt sich zwar test nicht ändern, aber das wo test hinzeigt. Bei</p>
<pre><code class="language-cpp">const char* const test = a;
</code></pre>
<p>oder gleichbedeutend mit</p>
<pre><code class="language-cpp">char const * const test = a;
</code></pre>
<p>ist beides konstant.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1450505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1450505</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 06 Feb 2008 12:51:22 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Pointer on Wed, 06 Feb 2008 12:57:55 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>jd schrieb:</p>
<blockquote>
<p>So aber jetzt mein Problem:<br />
<strong>Beispiel3:</strong></p>
<pre><code class="language-cpp">const char *test = a;
</code></pre>
<p>Was bedeutet das? Was ist konstant und was ist änderbar? Kann ich den wert von test ändern oder bedeutet es das ich den type (char) nicht ändern kann?</p>
</blockquote>
<p>Letzteres ist richtig. const bezieht sich immer auf das was links (!) von const steht, es sei denn, da steht nichts, dann bezieht sich const auf das was rechts steht und das wäre in diesem Fall 'char' (nicht char*).</p>
<p>Soll die Variable test const - also der Pointer auf das char - const sein, so muss man:</p>
<pre><code class="language-cpp">char* const test = a;
</code></pre>
<p>schreiben. Nun lässt sich zwar test nicht ändern, aber das wo test hinzeigt. Bei</p>
<pre><code class="language-cpp">const char* const test = a;
</code></pre>
<p>oder gleichbedeutend mit</p>
<pre><code class="language-cpp">char const * const test = a;
</code></pre>
<p>ist beides konstant.</p>
<p>Gruß<br />
Werner</p>
</blockquote>
<p>das habe ich auch noch nicht gewusst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> . danke <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="👍"
    /> jetzt weiß ich, warum bei mir const häufig der quell allen übels ist <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/1450512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1450512</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Wed, 06 Feb 2008 12:57:55 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Pointer on Wed, 06 Feb 2008 13:21:42 GMT]]></title><description><![CDATA[<p>sothis_ schrieb:</p>
<blockquote>
<p>jetzt weiß ich, warum bei mir const häuig der quell allen übels ist <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>
</blockquote>
<p>Geht mir nicht anders.</p>
<p>Ok habe das jetzt soweit verschaden bis auf eine sache:</p>
<pre><code class="language-cpp">const char *test = a;
</code></pre>
<p>Beudet das char konstant ist, soweit klar nur kann mir das jemand erklären? char ist konstant, das bringt mir was? ich meine bedeutet das, das ich nicht casten kann?, weil test kann ich variabel ändern, kann ja jetzt test = b machen, verstehe also nicht was const char *test bedeutet. Selbst wenn ich</p>
<pre><code class="language-cpp">char *test = a;
</code></pre>
<p>habe kann ich <strong>nicht</strong> schreiben:</p>
<pre><code class="language-cpp">test = 3;
</code></pre>
<p>Das gibt ein error, also was bringt</p>
<pre><code class="language-cpp">const char *test;
</code></pre>
<p>thx jd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1450543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1450543</guid><dc:creator><![CDATA[jd]]></dc:creator><pubDate>Wed, 06 Feb 2008 13:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Pointer on Wed, 06 Feb 2008 13:29:23 GMT]]></title><description><![CDATA[<p>Du verwechselst hier wohl was. Wenn Du einen Zeiger test hast, führt &quot;test = 3&quot; deshalb zu einem Fehler, weil 3 kein Zeiger ist. Mit Konstanten hat das noch garnichts zu tun.</p>
<p>So, jetzt hast Du einen Zeiger auf konstante chars (const char * test). Wie Du schon festgestellt hast, kannst Du test ändern, weil der Zeiger ja nicht konstant ist. Die Zeichen, auf die der Zeiger zeigt, sind es aber. Deshalb ist folgendes verboten:</p>
<pre><code class="language-cpp">*test = 'a'; // oder
test[0] = 'a'; // oder auch
test[4711] = 'a';
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1450552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1450552</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 06 Feb 2008 13:29:23 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Pointer on Wed, 06 Feb 2008 13:46:04 GMT]]></title><description><![CDATA[<p>Von rechts nach links lesen, und * durch &quot;ein Zeiger auf&quot; ersetzen.</p>
<p>const char* a; // a ist ein Zeiger auf ein konstantes char<br />
char* const a; // a ist ein konstanter Zeiger auf ein char</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1450569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1450569</guid><dc:creator><![CDATA[Entenwickler]]></dc:creator><pubDate>Wed, 06 Feb 2008 13:46:04 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Pointer on Wed, 06 Feb 2008 14:47:51 GMT]]></title><description><![CDATA[<p>Und da hat es klick gemacht <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>Danke nun habe ich es verstanden</p>
<p>so long</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1450609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1450609</guid><dc:creator><![CDATA[jd]]></dc:creator><pubDate>Wed, 06 Feb 2008 14:47:51 GMT</pubDate></item></channel></rss>