<?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[[Anfängerfrage-Zeiger] Jungfräulicher Speicher ist immer 0]]></title><description><![CDATA[<p>Hallihallo!</p>
<p>Ich bin gerade dabei nach längerer Zeit mal wieder in c++ reinzuschnuppern. Nun bearbeite ich gerade Zeiger und wundere mich...</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main() {
	int *pi = new int;
	cout &lt;&lt; &quot;Inhalt von Speicher bei *pi : &quot; &lt;&lt; *pi &lt;&lt; endl;
	delete pi;

	return 0;	
}
</code></pre>
<p>Der Wert bei *pi ist immer 0.<br />
Ich hatte da ehrlich gesagt was anderes erwartet, z.B. einen zufälligen Wert.<br />
Bevor ich mich darüber weiter wundere wende ich mich an euch. Woran kann es liegen? Das sehe ich doch richtig, dass ich auf einen zufälligen, oder einen sich zumindest ständig ändernden, Speicherbereich zeige, oder?</p>
<p>Programmieren tue ich übrigens unter Linux mit der eclipse IDE (gcc 3.3.5). Spezielle Kernel features habe ich keine an, auch keine patches (grsecurity etc.) ...</p>
<p>Bin um Aufklärung dankbar. <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>Philipp</p>
<p>PS: Kann mir vielleicht auch wer sagen wie ich unter Linux einen Speicherdump erzeugen kann? Sowas könnte auch helfen..</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/144996/anfängerfrage-zeiger-jungfräulicher-speicher-ist-immer-0</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 20:30:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/144996.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Apr 2006 00:24:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Anfängerfrage-Zeiger] Jungfräulicher Speicher ist immer 0 on Mon, 24 Apr 2006 00:24:21 GMT]]></title><description><![CDATA[<p>Hallihallo!</p>
<p>Ich bin gerade dabei nach längerer Zeit mal wieder in c++ reinzuschnuppern. Nun bearbeite ich gerade Zeiger und wundere mich...</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main() {
	int *pi = new int;
	cout &lt;&lt; &quot;Inhalt von Speicher bei *pi : &quot; &lt;&lt; *pi &lt;&lt; endl;
	delete pi;

	return 0;	
}
</code></pre>
<p>Der Wert bei *pi ist immer 0.<br />
Ich hatte da ehrlich gesagt was anderes erwartet, z.B. einen zufälligen Wert.<br />
Bevor ich mich darüber weiter wundere wende ich mich an euch. Woran kann es liegen? Das sehe ich doch richtig, dass ich auf einen zufälligen, oder einen sich zumindest ständig ändernden, Speicherbereich zeige, oder?</p>
<p>Programmieren tue ich übrigens unter Linux mit der eclipse IDE (gcc 3.3.5). Spezielle Kernel features habe ich keine an, auch keine patches (grsecurity etc.) ...</p>
<p>Bin um Aufklärung dankbar. <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>Philipp</p>
<p>PS: Kann mir vielleicht auch wer sagen wie ich unter Linux einen Speicherdump erzeugen kann? Sowas könnte auch helfen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043703</guid><dc:creator><![CDATA[cornettonuss]]></dc:creator><pubDate>Mon, 24 Apr 2006 00:24:21 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfängerfrage-Zeiger] Jungfräulicher Speicher ist immer 0 on Mon, 24 Apr 2006 01:23:35 GMT]]></title><description><![CDATA[<p>Du zeigst mit pi auf einen neuen Speicherbereich, das ist gültig.<br />
Danach dereferenzierst du allerdings den neuen Speicherbereich, das ist nichtmehr gültig und führt zu undefiniertem Verhalten.<br />
Der Grund für das undefinierte Verhalten ist, dass vor jeder Benutzung einer Variable vorher eine Initialisierung stattfinden muss.<br />
Undefiniertes Verhalten bedeutet in diesem Fall das dort sehr ungewöhnliche Zahlen für *pi ausgegeben werden.<br />
Der Grund das bei dir immer eine 0 ausgegeben wird ist , vielleicht sogar nur Glück. Man kann und darf sich nicht darauf verlassen.<br />
Schreibe einfach</p>
<pre><code class="language-cpp">int *pi = new int(0);
</code></pre>
<p>das erspart nachdenken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043705</guid><dc:creator><![CDATA[prokov]]></dc:creator><pubDate>Mon, 24 Apr 2006 01:23:35 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfängerfrage-Zeiger] Jungfräulicher Speicher ist immer 0 on Mon, 24 Apr 2006 08:43:35 GMT]]></title><description><![CDATA[<p>cornettonuss schrieb:</p>
<blockquote>
<p>Woran kann es liegen?</p>
</blockquote>
<p>das betriebssystem hat deiner anwendung speicher gegeben, der genullt wurde. aus sicherheitsgründen. damit nich passwörter und so aus der anwendung noch drinliegen, die den speicher zuletzt benutzt hat.<br />
du kriegst aber auch fein daten rein, wenn du selber mit new sachen alegst und mete delete löscht und dann nochmal deinen test durchführst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043775</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 24 Apr 2006 08:43:35 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfängerfrage-Zeiger] Jungfräulicher Speicher ist immer 0 on Mon, 24 Apr 2006 09:15:34 GMT]]></title><description><![CDATA[<p>Dies hängt mit der Art und Weise des Compilierens zusammen. Ich vermute mal du hast im Debug-Modus übersetzt. In diesem Modus werden durchaus Variablen auch initialisiert.<br />
Musst es mal im Release-Modus versuchen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043803</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Mon, 24 Apr 2006 09:15:34 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfängerfrage-Zeiger] Jungfräulicher Speicher ist immer 0 on Mon, 24 Apr 2006 12:06:26 GMT]]></title><description><![CDATA[<p>Mathias schrieb:</p>
<blockquote>
<p>Dies hängt mit der Art und Weise des Compilierens zusammen. Ich vermute mal du hast im Debug-Modus übersetzt. In diesem Modus werden durchaus Variablen auch initialisiert.<br />
Musst es mal im Release-Modus versuchen...</p>
</blockquote>
<p>im release-modus wird er eher auf was sonderbares gestellt. nicht 0. damit man programmierfehler durtlicher bemerkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043929</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 24 Apr 2006 12:06:26 GMT</pubDate></item></channel></rss>