<?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[Seltsames Phänomen mit Arrays]]></title><description><![CDATA[<p>hi,</p>
<p>Ich hab einfach mal ein Programm geschrieben welches Absichtlich über die Grenzen eines Arrays hinausschreibt, einfach um auszuprobieren was passiert.<br />
Dabei passiert etwas seltsames, die Schleife macht ein paar 100 oder ein paar 1000 durchläufe bis das Programm abstürzt.<br />
Kann mir vielleicht jemand sagen warum es überhaupt funktioniert und nicht direkt abstürzt? Und warum kann ich dann auchnoch das Array auslesen?</p>
<p>hier der code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main()
{
	int array[7];
	int feld = 1;
	int wert = 1;
	do
	{
		array[feld] = wert;

		cout &lt;&lt; &quot;wert des &quot; &lt;&lt; feld &lt;&lt; &quot;. feldes: &quot; &lt;&lt; wert &lt;&lt; endl;

		feld++;

	}while(5&gt;4);

	return 0;
}
</code></pre>
<p>vielen dank schonmal</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147017/seltsames-phänomen-mit-arrays</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 08:38:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147017.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 May 2006 21:32:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seltsames Phänomen mit Arrays on Fri, 12 May 2006 21:32:05 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>Ich hab einfach mal ein Programm geschrieben welches Absichtlich über die Grenzen eines Arrays hinausschreibt, einfach um auszuprobieren was passiert.<br />
Dabei passiert etwas seltsames, die Schleife macht ein paar 100 oder ein paar 1000 durchläufe bis das Programm abstürzt.<br />
Kann mir vielleicht jemand sagen warum es überhaupt funktioniert und nicht direkt abstürzt? Und warum kann ich dann auchnoch das Array auslesen?</p>
<p>hier der code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main()
{
	int array[7];
	int feld = 1;
	int wert = 1;
	do
	{
		array[feld] = wert;

		cout &lt;&lt; &quot;wert des &quot; &lt;&lt; feld &lt;&lt; &quot;. feldes: &quot; &lt;&lt; wert &lt;&lt; endl;

		feld++;

	}while(5&gt;4);

	return 0;
}
</code></pre>
<p>vielen dank schonmal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056816</guid><dc:creator><![CDATA[Gaumos]]></dc:creator><pubDate>Fri, 12 May 2006 21:32:05 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Phänomen mit Arrays on Fri, 12 May 2006 22:14:00 GMT]]></title><description><![CDATA[<p>Da gibts nichts zu erklären, das nennt sich undefiniertes Verhalten.</p>
<p>Aber bei deinem Fall geht das so lange gut, weil du auf Speicher zugreifst der dir gehört, wenn das Programm abstürzt, hast du das Gebiet verlassen/was wichtiges überschrieben oder sonst wie was kaputt gemacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056830</guid><dc:creator><![CDATA[Dr. Prof]]></dc:creator><pubDate>Fri, 12 May 2006 22:14:00 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Phänomen mit Arrays on Sat, 13 May 2006 13:21:46 GMT]]></title><description><![CDATA[<p>ah, vielen dank für die Antwort, da bin ich gleich schlauer und ein wenig deprimiert, das Debugging wird dadurch noch verzwickter....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1057046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1057046</guid><dc:creator><![CDATA[Gaumos]]></dc:creator><pubDate>Sat, 13 May 2006 13:21:46 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Phänomen mit Arrays on Sat, 13 May 2006 13:53:44 GMT]]></title><description><![CDATA[<p>du kannst dir selbstverständlich eine array-klasse basteln, die checkt, ob ein zugriff erlaubt ist. natürlich wird der zugriff dadurch auch etwas langsamer, aber dafür bist du dann gegen buffer-overflows gewappnet. wenn du <a href="http://boost.org/doc/html/array.html" rel="nofollow">boost::array</a> verwendest, kannst du die methode <a href="http://boost.org/doc/html/boost/array.html#id2365698-bb" rel="nofollow">at</a> benutzen, um den zugriff auf elemente checken zu lassen. wenn der index groesser/gleich der element-anzahl ist, wird eine exception vom typ std::range_error geworfen. der <a href="http://boost.org/doc/html/boost/array.html#id2365634-bb" rel="nofollow">operator[]</a> greift allerdings (offensichtlich aus performance-gründen) weiterhin ungehütet auf die elemente zu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1057071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1057071</guid><dc:creator><![CDATA[Array-Man]]></dc:creator><pubDate>Sat, 13 May 2006 13:53:44 GMT</pubDate></item></channel></rss>