<?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[Dynamische Speicherverwaltung]]></title><description><![CDATA[<p>Hey mal ne allgemeine Frage zur Dynamischen Speicherverwaltung.</p>
<p>Folgender Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;

using namespace std;

int main() {
	int *iptr = new int;

	*iptr = 100;

	cout &lt;&lt; *iptr &lt;&lt; endl;
	cout &lt;&lt; iptr &lt;&lt; endl;
	cout &lt;&lt; &amp;iptr;

	delete iptr;
	_getch();
	return 0;
}
</code></pre>
<p>So jetzt bekomme ich 3 Angaben:<br />
100 (Wert von iptr [*iptr])<br />
<strong>00614878 (Adresse von iptr ?!)</strong><br />
0039FDF8 (Direkte Adresse des Zeigers)</p>
<p>Meine Frage: Wenn ich mit dem Adressoperator (&amp;) die Adresse des Zeigers zurückgebe, warum hat dieser einen anderen Speicherplatz als iptr ? Im grunde zeigt der Zeiger doch auf sich selbst oder versteh ich da was falsch? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/295792/dynamische-speicherverwaltung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 07:29:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295792.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Nov 2011 21:00:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 21:00:55 GMT]]></title><description><![CDATA[<p>Hey mal ne allgemeine Frage zur Dynamischen Speicherverwaltung.</p>
<p>Folgender Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;

using namespace std;

int main() {
	int *iptr = new int;

	*iptr = 100;

	cout &lt;&lt; *iptr &lt;&lt; endl;
	cout &lt;&lt; iptr &lt;&lt; endl;
	cout &lt;&lt; &amp;iptr;

	delete iptr;
	_getch();
	return 0;
}
</code></pre>
<p>So jetzt bekomme ich 3 Angaben:<br />
100 (Wert von iptr [*iptr])<br />
<strong>00614878 (Adresse von iptr ?!)</strong><br />
0039FDF8 (Direkte Adresse des Zeigers)</p>
<p>Meine Frage: Wenn ich mit dem Adressoperator (&amp;) die Adresse des Zeigers zurückgebe, warum hat dieser einen anderen Speicherplatz als iptr ? Im grunde zeigt der Zeiger doch auf sich selbst oder versteh ich da was falsch? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147135</guid><dc:creator><![CDATA[KPKK]]></dc:creator><pubDate>Mon, 21 Nov 2011 21:00:55 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 21:12:41 GMT]]></title><description><![CDATA[<p>iptr ist selber eine Variable und hat damit natürlich eine eigene Adresse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147144</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Mon, 21 Nov 2011 21:12:41 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 21:13:08 GMT]]></title><description><![CDATA[<p>KPKK schrieb:</p>
<blockquote>
<p>Meine Frage: Wenn ich mit dem Adressoperator (&amp;) die Adresse des Zeigers zurückgebe, warum hat dieser einen anderen Speicherplatz als iptr ? Im grunde zeigt der Zeiger doch auf sich selbst oder versteh ich da was falsch? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Ja, das verstehst du falsch. Ein Zeiger ist eine eigene Variable mit eigenem Speicherplatzverbrauch. (Üblicherweise so groß wie ein int, aber das ist nicht zwangsläufig gegeben.)<br />
Wo sollte man auch sonst den Wert des Zeigers abspeichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147145</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 21 Nov 2011 21:13:08 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 21:20:56 GMT]]></title><description><![CDATA[<p>Hm, ja okay, aber warum gibt mir das Programm zwei verschiedene Adressen aus, wenn ich einmal iptr und einmal &amp;iptr ausgebe. Oder ist das so, weil ich mit</p>
<pre><code class="language-cpp">int *iptr = new int
</code></pre>
<p>einmal Speicher für den Zeiger selbst und einmal Speicher fürs &quot;int&quot; anfordere?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147153</guid><dc:creator><![CDATA[KPKK]]></dc:creator><pubDate>Mon, 21 Nov 2011 21:20:56 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 21:33:39 GMT]]></title><description><![CDATA[<p>Nein. Der Pointer wird auf dem Stack angelegt, wie jede andere normale Variable. Bei &quot;int i;&quot; wird ja auch Speicher reserviert, genau so funktioniert das auch mit &quot;int *i;&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147160</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 21 Nov 2011 21:33:39 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 21:38:20 GMT]]></title><description><![CDATA[<p>Ja das ist mir klar, nur frag ich mich, warum ich jetzt trotzdem 2 Adressen habe. Wenn es nur einen Zeiger gibt, dann sollte er doch eigentlich auch nur eine Adresse haben. Also iptr == &amp;iptr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147170</guid><dc:creator><![CDATA[KPKK]]></dc:creator><pubDate>Mon, 21 Nov 2011 21:38:20 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 21:46:58 GMT]]></title><description><![CDATA[<p>KPKK schrieb:</p>
<blockquote>
<p>Ja das ist mir klar, [...]</p>
</blockquote>
<p>Sicher?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147176</guid><dc:creator><![CDATA[&amp;lt;°))))&amp;gt;&amp;lt;]]></dc:creator><pubDate>Mon, 21 Nov 2011 21:46:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 21:48:28 GMT]]></title><description><![CDATA[<p>Ne nicht mehr <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/2147177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147177</guid><dc:creator><![CDATA[KPKK]]></dc:creator><pubDate>Mon, 21 Nov 2011 21:48:28 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 22:10:00 GMT]]></title><description><![CDATA[<p>Sag mal, ist dir eigentlich klar was der Adressoperator macht und dass man ihn auch auf normale Variablen anwenden kann?</p>
<pre><code class="language-cpp">int i;
std::cout &lt;&lt; &amp;i;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2147190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147190</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 21 Nov 2011 22:10:00 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Mon, 21 Nov 2011 23:14:49 GMT]]></title><description><![CDATA[<p>Mal ganz simpel auf einer Maschine mit einem Adressraum vom 8 Byte und ohne den ganzen Aufrufskram dargestellt:</p>
<pre><code>+----------- &amp;iptr
 |
 v +-----+
 1 |  5  | &lt;- iptr
   +-----+
 2 |     |
   +-----+
 3 |     |
   +-----+
 4 |     |
   +-----+
 5 | 100 | &lt;- *iptr
   +-----+
 6 |     |
   +-----+
 7 |     |
   +-----+
 8 |     |
   +-----+
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2147214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147214</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Mon, 21 Nov 2011 23:14:49 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung on Tue, 22 Nov 2011 08:33:52 GMT]]></title><description><![CDATA[<p>KPKK schrieb:</p>
<blockquote>
<p>Ja das ist mir klar, nur frag ich mich, warum ich jetzt trotzdem 2 Adressen habe. Wenn es nur einen Zeiger gibt, dann sollte er doch eigentlich auch nur eine Adresse haben. Also iptr == &amp;iptr.</p>
</blockquote>
<p>Du hast einen Zeiger, der auf eine Variable/was auch immer zeigt, demnach ist der Inhalt des Zeigers die Adresse der Variable (ptr == 00614878 &lt;-- hier ist dein int gespeichert). Da der Zeiger bzw. sein Inhalt irgendwo gespeichert werden muss, wird er auf dem Stack abgelegt und bekommt eine Adresse zugewiesen (&amp;ptr == 0039FDF8 &lt;-- hier ist dein Zeiger gespeichert). *ptr == 100 ist klar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147276</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Tue, 22 Nov 2011 08:33:52 GMT</pubDate></item></channel></rss>