<?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-Adressen Subtraktion]]></title><description><![CDATA[<p>Guten Abend,<br />
ich bin Student und leider noch nich sehr begabt im Programmieren!</p>
<p>Folgende Aufgabe gilt es zu lösen:<br />
Größe eines Datentypes mittels Adressen zu berechnen!</p>
<pre><code>//Deklaration der Variablen
	int tmp0;
	double tmp1;
	int ergebnis;

	//Deklaration der Zeiger
	int *pi;
	double *pd;

	//Zeiger Initialiserung
	pi=&amp;tmp0;
	pd=&amp;tmp1;

	//Subtraktion der Adressen????
	ergebnis=pi-pd;
</code></pre>
<p>Ich habe vorerst versucht die Adressgröße der Integer Variable zu ermitteln!<br />
Allerdings bekomm ich die Fehlermeldung:<br />
*error C2440: '-': 'double *' kann nicht in 'int <em>' konvertiert werden</em></p>
<p>Vielen Dank im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200187/zeiger-adressen-subtraktion</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 11:04:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200187.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Dec 2007 17:18:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 17:18:24 GMT]]></title><description><![CDATA[<p>Guten Abend,<br />
ich bin Student und leider noch nich sehr begabt im Programmieren!</p>
<p>Folgende Aufgabe gilt es zu lösen:<br />
Größe eines Datentypes mittels Adressen zu berechnen!</p>
<pre><code>//Deklaration der Variablen
	int tmp0;
	double tmp1;
	int ergebnis;

	//Deklaration der Zeiger
	int *pi;
	double *pd;

	//Zeiger Initialiserung
	pi=&amp;tmp0;
	pd=&amp;tmp1;

	//Subtraktion der Adressen????
	ergebnis=pi-pd;
</code></pre>
<p>Ich habe vorerst versucht die Adressgröße der Integer Variable zu ermitteln!<br />
Allerdings bekomm ich die Fehlermeldung:<br />
*error C2440: '-': 'double *' kann nicht in 'int <em>' konvertiert werden</em></p>
<p>Vielen Dank im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418896</guid><dc:creator><![CDATA[RaptorX]]></dc:creator><pubDate>Tue, 11 Dec 2007 17:18:24 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 17:32:57 GMT]]></title><description><![CDATA[<p>Hey!</p>
<p>Da musst du explizit casten:</p>
<p>ergebnis = (double*)pi - pd;</p>
<p>Allerdings weiß ich nicht, ob das sinnvoll ist, was du da machst. Kannst du genauere Info geben?</p>
<p>Ich weiß nur, dass man den Index eines Vektorelements, auf das ein Zeiger zeigt, durch Adressensubtraktion bekommen kann.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418902</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Tue, 11 Dec 2007 17:32:57 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 17:38:25 GMT]]></title><description><![CDATA[<p>Super Vielen Dank für die schnelle Antwort! <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="🙂"
    /> <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>
<p>Hat funktioniert! *happy bin*</p>
<p>Meine Überlegung war wenn z.b. die Integer Variable die Adresse 122400 hat und die darauffolgende Variable die Adresse 122392 und man subtrahiert diese beiden Adressen miteinander, bekommt man den Bereich der für die erste Variable freigehalten wurde.</p>
<p>Dieser freigehaltene Adressbereich entspricht der Größe des Datentyps!?!</p>
<p>Lg RaptorX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418904</guid><dc:creator><![CDATA[RaptorX]]></dc:creator><pubDate>Tue, 11 Dec 2007 17:38:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 17:46:43 GMT]]></title><description><![CDATA[<p>Ich glaube nicht. Double hat doch schon 8 bytes, bei deiner Rechnung kommt 2 heraus.</p>
<p>Du sollst wirklich anhand der Adressen auf die Typengröße schließen? Da bin ich überfragt.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418910</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Tue, 11 Dec 2007 17:46:43 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 17:56:03 GMT]]></title><description><![CDATA[<p>Ne bei der Berechnung wird der Adressraum von Integer berechnet und dieser hat meines Wissens 2Byte oder 4Byte??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418915</guid><dc:creator><![CDATA[RaptorX]]></dc:creator><pubDate>Tue, 11 Dec 2007 17:56:03 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 17:58:16 GMT]]></title><description><![CDATA[<p>Ich nehme schwer an, dass du auf einem 32-bit System ausführst. Demnach hat int 4 Byte...</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418917</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Tue, 11 Dec 2007 17:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 18:01:24 GMT]]></title><description><![CDATA[<p>Hmm oke magst recht haben! <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 wie würdet ihr die Aufgabe dann lösen?</p>
<p>Schreiben Sie eine Funktion, die die Größe eines Datentys berechnet. Verwenden Sie ein Vorgehensweise die mittels Adresserhöhung arbeitet!</p>
<p>Jemand ne Idee?</p>
<p>Lg RaptorX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418919</guid><dc:creator><![CDATA[RaptorX]]></dc:creator><pubDate>Tue, 11 Dec 2007 18:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 18:05:15 GMT]]></title><description><![CDATA[<p>Die Aufgabestellung hört sich für mich nach sowas an:</p>
<pre><code class="language-cpp">int* a = 0;
char* addresse_vorher = (char*)a;
a++;
char* addresse_nachher = (char*)a;
int differenz = addresse_nachher - addresse_vorher;
</code></pre>
<p>Dabei macht man sich zunutze, dass die Zeiger-Arithmetik auch funktioniert, wenn der Zeiger auf nix vernünftiges (hier 0) zeigt. Man sagt dem Computer, der Zeiger soll auf den nächsten int zeigen, deshalb wird die Adresse um so-und-so-viel erhöht. Die Differenz sollte dann die Größe deines Datentyps in Bytes sein <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1418922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418922</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Tue, 11 Dec 2007 18:05:15 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 18:07:53 GMT]]></title><description><![CDATA[<p>Schlau schlau, wieder was gelernt :xmas1:</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418924</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Tue, 11 Dec 2007 18:07:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 18:14:24 GMT]]></title><description><![CDATA[<p>Definiere ein Array des Datentypes und rechne i.e. &amp;...[1] - &amp;...[0].</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418929</guid><dc:creator><![CDATA[nocheineidee]]></dc:creator><pubDate>Tue, 11 Dec 2007 18:14:24 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 18:16:43 GMT]]></title><description><![CDATA[<p>Super Badestrand!</p>
<p>Funktioniert mit allen Datentypen hervorragend!</p>
<p>Vielen Dank <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>Hab leider nur dein Code noch net so ganz verstanden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> !</p>
<p>Lg RaptorX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418934</guid><dc:creator><![CDATA[RaptorX]]></dc:creator><pubDate>Tue, 11 Dec 2007 18:16:43 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 18:23:15 GMT]]></title><description><![CDATA[<p>Also bei der Idee mit dem Array erhalte ich den Wert 1. Scheint also nicht zu gehen! <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>
<pre><code class="language-cpp">int array[2];
    int ergebnis;
    ergebnis=&amp;array[1]-&amp;array[0];
    printf(&quot;Ergebnis:%i&quot;,ergebnis);
</code></pre>
<p>Lg RaptorX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418941</guid><dc:creator><![CDATA[RaptorX]]></dc:creator><pubDate>Tue, 11 Dec 2007 18:23:15 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 18:29:54 GMT]]></title><description><![CDATA[<p>RaptorX schrieb:</p>
<blockquote>
<p>Also bei der Idee mit dem Array erhalte ich den Wert 1. Scheint also nicht zu gehen! <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>
</blockquote>
<p>Die Idee besteht darin, die Adressen nach char* zu casten:</p>
<pre><code class="language-cpp">int array[2];
    int ergebnis;
    ergebnis=static_cast&lt;char*&gt;(&amp;array[1])-static_cast&lt;char*&gt;(&amp;array[0]);
    printf(&quot;Ergebnis:%i&quot;,ergebnis);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1418947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418947</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 11 Dec 2007 18:29:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 18:43:27 GMT]]></title><description><![CDATA[<p>Oke sorry Bashar!</p>
<p>Aber soweit ist unser Wissensstand noch net! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
<p>Habs jetzt nach der Methode von Badestrand gelöst. <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>
<pre><code class="language-cpp">BELIEBIGER_DATENTYP* a = 0;
char* addresse_vorher = (char*)a;
a++;
char* addresse_nachher = (char*)a;
ergebnis = addresse_nachher - addresse_vorher;
</code></pre>
<p>Lg RaptorX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418959</guid><dc:creator><![CDATA[RaptorX]]></dc:creator><pubDate>Tue, 11 Dec 2007 18:43:27 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 19:09:48 GMT]]></title><description><![CDATA[<blockquote>
<p>Habs jetzt nach der Methode von Badestrand gelöst. <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>Die Methode von Badestrand stinkt – sorry – weil er C-Style-Casts verwendet. Das ist pfui und das macht man nicht.</p>
<p>Also, statt <code>(char*)a</code> schreibt man in diesem Fall <code>reinterpret_cast&lt;char*&gt;(a)</code> . Das ist schön sperrig und gibt ein visuelles Warnsignal ab. Solche Casts sind nämlich immer mit Vorsicht zu genießen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418991</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 11 Dec 2007 19:09:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Tue, 11 Dec 2007 19:26:28 GMT]]></title><description><![CDATA[<p>Habs geändert! Geht ebenfalls bestens <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>Sry aber mit den casts hab ich noch keine Ahung! Erst Semester halt ;)! <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/1419006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419006</guid><dc:creator><![CDATA[RaptorX]]></dc:creator><pubDate>Tue, 11 Dec 2007 19:26:28 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Wed, 12 Dec 2007 06:43:53 GMT]]></title><description><![CDATA[<p>Randfrage: Was für ein Problem hast du mit sizeof()?</p>
<p>Btw, deine erste Lösung war undefiniert - Zeiger-Arithmetik liefert nur dann etwas vernünftiges, wenn die beteilitgten Zeiger alle im selben Array unterwegs sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419124</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 12 Dec 2007 06:43:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Wed, 12 Dec 2007 09:54:41 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Randfrage: Was für ein Problem hast du mit sizeof()?</p>
</blockquote>
<p>RaptorX schrieb:</p>
<blockquote>
<p>Folgende Aufgabe gilt es zu lösen:<br />
Größe eines Datentypes mittels Adressen zu berechnen!</p>
</blockquote>
<p>:xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419215</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Wed, 12 Dec 2007 09:54:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger-Adressen Subtraktion on Wed, 12 Dec 2007 11:53:47 GMT]]></title><description><![CDATA[<p>So ist es, auch wenns kein Sinn macht man durfte sizeof() nicht verwenden <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>Lg RaptorX</p>
<p>:xmas1:</p>
<p>Ich danke euch allen nochmal für die Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419268</guid><dc:creator><![CDATA[RaptorX]]></dc:creator><pubDate>Wed, 12 Dec 2007 11:53:47 GMT</pubDate></item></channel></rss>