<?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[Probleme mit dynamischem Array]]></title><description><![CDATA[<p>Guten Abend...</p>
<p>...ich hab da ein kleines Problem <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="😉"
    /> Im Groben geht es um dynamische Arrays. Ich versuche als Übung so ein kleines Verwaltungsprogramm für Bankkonten zu schreiben (Hinzufügen, löschen, einzahlen, abheben usw...)</p>
<p>um die Konten möglichst komfortabel verwalten zu können habe ich eine Struktur angelegt:</p>
<pre><code class="language-cpp">struct s_account
{
	int acc_type;
	string name;
	int acc_number;
	float balance;
};
</code></pre>
<p>Da ich nicht weiß wie viele Konten zusammenkommen, wird als nächstes ein dynamisches Array erstellt, welches zu ersteinmal zwei Felder hat:</p>
<pre><code class="language-cpp">s_account* accounts = new s_account[1];
</code></pre>
<p>Feld 0 wird nur genuzt um die Anzahl der Einträge mitzuzählen. Um eine Funktion, welche später alle Konten auflisten soll zu testen, habe ich einen Beispieldatensatz eingefügt:</p>
<pre><code class="language-cpp">accounts[1].acc_type = 1;
	accounts[1].name = &quot;Max Mustermann&quot;;
	accounts[1].acc_number = 2275;
	accounts[1].balance = 569.35;
</code></pre>
<p>Genau an dieser stelle wird es seltsam. denn sobald ich accounts[1].name &quot;Max Mustermann&quot; zuweisen möchte, kommt es beim Ausführen zu einem Speicherzugriffsfehler. An einem fehlenden #include &lt;string&gt; kann es schonmal nicht liegen...<br />
Die Fehlermeldung ist ebenfalls nicht sonderlich hilfreich, alles was die Konsole sagt ist:</p>
<pre><code>pixelrealm@tbook:~/Development/Konten$ g++ -o main main.cpp
pixelrealm@tbook:~/Development/Konten$ ./main
Speicherzugriffsfehler
</code></pre>
<p>Weiß jemand woran das liegen kann?<br />
Vielen Dank schonmal für's gedanken machen,</p>
<p>Tobi</p>
<p>Fast vergessen: Debian 5.0 mit GCC 4.3.2</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244404/probleme-mit-dynamischem-array</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 10:49:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244404.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Jun 2009 19:44:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit dynamischem Array on Mon, 29 Jun 2009 19:44:57 GMT]]></title><description><![CDATA[<p>Guten Abend...</p>
<p>...ich hab da ein kleines Problem <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="😉"
    /> Im Groben geht es um dynamische Arrays. Ich versuche als Übung so ein kleines Verwaltungsprogramm für Bankkonten zu schreiben (Hinzufügen, löschen, einzahlen, abheben usw...)</p>
<p>um die Konten möglichst komfortabel verwalten zu können habe ich eine Struktur angelegt:</p>
<pre><code class="language-cpp">struct s_account
{
	int acc_type;
	string name;
	int acc_number;
	float balance;
};
</code></pre>
<p>Da ich nicht weiß wie viele Konten zusammenkommen, wird als nächstes ein dynamisches Array erstellt, welches zu ersteinmal zwei Felder hat:</p>
<pre><code class="language-cpp">s_account* accounts = new s_account[1];
</code></pre>
<p>Feld 0 wird nur genuzt um die Anzahl der Einträge mitzuzählen. Um eine Funktion, welche später alle Konten auflisten soll zu testen, habe ich einen Beispieldatensatz eingefügt:</p>
<pre><code class="language-cpp">accounts[1].acc_type = 1;
	accounts[1].name = &quot;Max Mustermann&quot;;
	accounts[1].acc_number = 2275;
	accounts[1].balance = 569.35;
</code></pre>
<p>Genau an dieser stelle wird es seltsam. denn sobald ich accounts[1].name &quot;Max Mustermann&quot; zuweisen möchte, kommt es beim Ausführen zu einem Speicherzugriffsfehler. An einem fehlenden #include &lt;string&gt; kann es schonmal nicht liegen...<br />
Die Fehlermeldung ist ebenfalls nicht sonderlich hilfreich, alles was die Konsole sagt ist:</p>
<pre><code>pixelrealm@tbook:~/Development/Konten$ g++ -o main main.cpp
pixelrealm@tbook:~/Development/Konten$ ./main
Speicherzugriffsfehler
</code></pre>
<p>Weiß jemand woran das liegen kann?<br />
Vielen Dank schonmal für's gedanken machen,</p>
<p>Tobi</p>
<p>Fast vergessen: Debian 5.0 mit GCC 4.3.2</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1734723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1734723</guid><dc:creator><![CDATA[PixelRealm]]></dc:creator><pubDate>Mon, 29 Jun 2009 19:44:57 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dynamischem Array on Mon, 29 Jun 2009 19:49:22 GMT]]></title><description><![CDATA[<p>Bei Arrays beginnt der Index bei 0!<br />
Mit new MyType[1] erstellst Du ein Array mit 1 Element. Und mit Index 1 greifst Du auf ein nicht existierendes Element zu.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1734726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1734726</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Mon, 29 Jun 2009 19:49:22 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dynamischem Array on Mon, 29 Jun 2009 20:12:26 GMT]]></title><description><![CDATA[<p>hast recht, das war das Problem. Danke auf jeden Fall!<br />
Eine andere Sache ist dann allerdings wieder seltsam: wenn ich die string-Zeile auskommentiere, läuft das Programm soweit ich das beurteilen kann korrekt:</p>
<pre><code class="language-cpp">s_account* accounts = new s_account[1];

	//BSP-Daten
	accounts[1].acc_type = 1;
	//accounts[1].name = &quot;M&quot;;
	accounts[1].acc_number = 2275;
	accounts[1].balance = 569.35;
</code></pre>
<p>Das Kommt als Ausgabe dabei rum:</p>
<pre><code>Konto-Manager
----------------------------------------------------
1   2275   569.35

Anzahl Konten: 1
</code></pre>
<p>Liegt das daran das der Variablentyp &quot;string&quot; nachträglich zugefügt wurde und nicht zur Grundfunktionalität von C++ gehört?</p>
<p>Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1734742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1734742</guid><dc:creator><![CDATA[PixelRealm]]></dc:creator><pubDate>Mon, 29 Jun 2009 20:12:26 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dynamischem Array on Mon, 29 Jun 2009 20:18:39 GMT]]></title><description><![CDATA[<blockquote>
<p>Liegt das daran das der Variablentyp &quot;string&quot; nachträglich zugefügt wurde und nicht zur Grundfunktionalität von C++ gehört?</p>
</blockquote>
<p>Nein.</p>
<p>Wie sieht dein Ausgabe Code aus?<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1734745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1734745</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Mon, 29 Jun 2009 20:18:39 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dynamischem Array on Mon, 29 Jun 2009 20:25:55 GMT]]></title><description><![CDATA[<p>PixelRealm schrieb:</p>
<blockquote>
<p>Liegt das daran das der Variablentyp &quot;string&quot; nachträglich zugefügt wurde und nicht zur Grundfunktionalität von C++ gehört?</p>
</blockquote>
<p>Nein. Wahrscheinlich liegt es eher daran, dass die Zuweisung an <code>std::string</code> um einiges komplexer als bei skalaren Datentypen ist (z.B. kann Speicher angefordert und freigegeben werden). Wenn das alles auf einem Speicherplatz passiert, der dir gar nicht zur Verfügung steht, kann das Programm schnell mal abstürzen.</p>
<p>Aber grundsätzlich sind Dinge wie Überschreiten von Array-Grenzen undefiniertes Verhalten. Versuche also nicht, durch Experimente voreilige Schlüsse zu ziehen. Das Ergebnis kann bei jedem Compiler wieder anders aussehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1734749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1734749</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 29 Jun 2009 20:25:55 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dynamischem Array on Mon, 29 Jun 2009 20:50:13 GMT]]></title><description><![CDATA[<p>OKay, die Erklärung leuchtet ein. Vielen Dank für die kompetente Hilfe <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>Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1734765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1734765</guid><dc:creator><![CDATA[PixelRealm]]></dc:creator><pubDate>Mon, 29 Jun 2009 20:50:13 GMT</pubDate></item></channel></rss>