<?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[char Pointer auf int?]]></title><description><![CDATA[<p>Hallo, wir haben die folgende Aufgabe:<br />
&quot;Definieren Sie eine int Variable und lassen Sie eine Pointervariable vom Typ unsigned char * darauf zeigen. Geben Sie den Inhalt dieser Adresse als Dezimalzahl aus.&quot;</p>
<p>Allerdings bekomm ich beim versuchen mit:</p>
<pre><code class="language-cpp">int a=987654321;
unsigned char *p;
p = &amp;a;
</code></pre>
<p>den Fehler:<br />
<em><em>cannot convert `int</em>' to `unsigned char</em>' in assignment**</p>
<p>Wie soll es denn Funktionieren?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/278891/char-pointer-auf-int</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 23:22:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278891.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Dec 2010 22:20:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to char Pointer auf int? on Tue, 14 Dec 2010 22:20:59 GMT]]></title><description><![CDATA[<p>Hallo, wir haben die folgende Aufgabe:<br />
&quot;Definieren Sie eine int Variable und lassen Sie eine Pointervariable vom Typ unsigned char * darauf zeigen. Geben Sie den Inhalt dieser Adresse als Dezimalzahl aus.&quot;</p>
<p>Allerdings bekomm ich beim versuchen mit:</p>
<pre><code class="language-cpp">int a=987654321;
unsigned char *p;
p = &amp;a;
</code></pre>
<p>den Fehler:<br />
<em><em>cannot convert `int</em>' to `unsigned char</em>' in assignment**</p>
<p>Wie soll es denn Funktionieren?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1994683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1994683</guid><dc:creator><![CDATA[Lokia]]></dc:creator><pubDate>Tue, 14 Dec 2010 22:20:59 GMT</pubDate></item><item><title><![CDATA[Reply to char Pointer auf int? on Tue, 14 Dec 2010 22:30:26 GMT]]></title><description><![CDATA[<p>Da dieses Mittel eigentlich nur für Dummheiten genutzt werden kann, braucht es hier den stärksten Cast den C++ kennt:</p>
<pre><code class="language-cpp">int a=987654321;
unsigned char *p;
 p = reinterpret_cast&lt;unsigned char*&gt;(&amp;a);
</code></pre>
<p>Mit dem reinterpret_cast sagst du dem Compiler, dass du ganz genau weißt was du tust und dass er gefälligst das Maul halten soll.</p>
<p>Da dies eine Übungsaufgabe ist, weißt du zwar vermutlich nicht was du da tust, aber da du dies anhand der Aufgabe lernen sollst, ist der reinterpret_cast wohl angemessen. Normalerweise weist die Verwendung von reinterpret_cast im Programm nämlich auf Designfehler hin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1994685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1994685</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 14 Dec 2010 22:30:26 GMT</pubDate></item><item><title><![CDATA[Reply to char Pointer auf int? on Tue, 14 Dec 2010 22:42:06 GMT]]></title><description><![CDATA[<p>Hallo SeppJ, danke für deine Antwort! Aber wenn wir es mit:</p>
<pre><code class="language-cpp">int a=987654321;
unsigned char *p;
p = reinterpret_cast&lt;unsigned char*&gt;(&amp;a);
</code></pre>
<p>versuchen, kommen nur Smilies und andere seltsame Zeichen bei raus.</p>
<p>Unsere komplette Aufgabe sieht wie folgt aus:</p>
<p>&quot;Definieren Sie eine int Variable und lassen Sie eine Pointervariable vom Typ unsigned char * darauf zeigen. Geben Sie den Inhalt dieser Adresse als Dezimalzahl aus. Tun Sie dasselbe mit den folgenden drei Speicherzellen. Wandeln Sie diese drei Werte manuell in eine Dualzahl um und kontrollieren Sie das Ergebnis.</p>
<p>Testlauf für 987654321 = 00111010 11011110 01101000 10110001:<br />
int Wert = ? 987654321<br />
0x22ff1c: 177<br />
0x22ff1d: 104<br />
0x22ff1e: 222<br />
0x22ff1f: 58&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1994687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1994687</guid><dc:creator><![CDATA[Lokia]]></dc:creator><pubDate>Tue, 14 Dec 2010 22:42:06 GMT</pubDate></item><item><title><![CDATA[Reply to char Pointer auf int? on Tue, 14 Dec 2010 23:06:18 GMT]]></title><description><![CDATA[<blockquote>
<p>kommen nur Smilies und andere seltsame Zeichen bei raus.</p>
</blockquote>
<p>Ich schließe daraus, dass du den Inhalt der Speicherzelle nicht als Zahl, sondern als Zeichen(kette) ausgegeben hast. Dies ist der Normalfall wäre, wenn du einfach<br />
<code>cout&lt;&lt;p;</code> oder <code>cout&lt;&lt;*p;</code> gemacht hast, weil der Operator &lt;&lt; Zeichen(ketten) gesondert behandelt (das erste wäre übrigens ganz falsch). Um dies zu vermeiden musst du wieder zurück in einen nicht-char Datentyp konvertieren: <code>cout&lt;&lt;static_cast&lt;unsigned int&gt;(*p);</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1994691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1994691</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 14 Dec 2010 23:06:18 GMT</pubDate></item><item><title><![CDATA[Reply to char Pointer auf int? on Tue, 14 Dec 2010 23:40:39 GMT]]></title><description><![CDATA[<p>Danke! Die Ausgabe des Inhalts klappt schonmal.<br />
Allerdings müssen wir (wie der Testlauf zeigt) auch den dazugehörigen Adressennamen ausgeben.</p>
<p>Im Normalfall klappt das ja mit</p>
<pre><code class="language-cpp">cout &lt;&lt; p;
</code></pre>
<p>wenn ich z.B. habe:</p>
<pre><code class="language-cpp">int a;
int *p;
p = &amp;a;
</code></pre>
<p>Aber wie Stelle ich das jetzt mit dem reinterpret_cast an?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1994704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1994704</guid><dc:creator><![CDATA[Lokia]]></dc:creator><pubDate>Tue, 14 Dec 2010 23:40:39 GMT</pubDate></item><item><title><![CDATA[Reply to char Pointer auf int? on Wed, 15 Dec 2010 10:28:58 GMT]]></title><description><![CDATA[<p>Probiers doch einfach mal aus. Wieso sollte irgendetwas anders sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1994791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1994791</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 15 Dec 2010 10:28:58 GMT</pubDate></item></channel></rss>