<?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[Größe einer Struktur]]></title><description><![CDATA[<p>Wie groß darf eine Struktur in einer Winapi Anwendung maximal sein, bevor man mit malloc extra Speicher anfordern muß. Wie ermittelt man anhand der Strukturelemente die Größe der Struktur. Kann jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178841/größe-einer-struktur</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 03:34:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178841.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 15 Apr 2007 18:00:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Größe einer Struktur on Sun, 15 Apr 2007 18:00:27 GMT]]></title><description><![CDATA[<p>Wie groß darf eine Struktur in einer Winapi Anwendung maximal sein, bevor man mit malloc extra Speicher anfordern muß. Wie ermittelt man anhand der Strukturelemente die Größe der Struktur. Kann jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266644</guid><dc:creator><![CDATA[Timmo]]></dc:creator><pubDate>Sun, 15 Apr 2007 18:00:27 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Struktur on Sun, 15 Apr 2007 18:04:27 GMT]]></title><description><![CDATA[<p>Die Größe ermittelst Du mit dem sizeof-Operator. Die Maximalgröße ist abhängig von der gewählten Stackgröße. Die darf nicht überschritten werden. IMHO ist die Standard-Stackgröße im VC 2005 auf 4 KB eingestellt (lässt sich auch noch irgendwie vergrößern, ob das Sinn macht ist was anderes). Bedenke aber auch, das dort noch andere Variablen Platz finden müssen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1266649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266649</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Sun, 15 Apr 2007 18:04:27 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Struktur on Sun, 15 Apr 2007 18:08:41 GMT]]></title><description><![CDATA[<p>Ich programmiere mit ms vc6.0, wie weiß ich beim definieren meiner Struktur ab wann ich Speicher per malloc zuweisen muß, da gibt es doch bestimmt irgendwelche Formeln oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266656</guid><dc:creator><![CDATA[Timmo]]></dc:creator><pubDate>Sun, 15 Apr 2007 18:08:41 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Struktur on Sun, 15 Apr 2007 18:10:41 GMT]]></title><description><![CDATA[<p>Naja Du weißt doch, welche Variablen Du anlegen musst (auf dem Stack). Du darfst die Maximalgröße eben nicht überschreiten. Ne Formel ist mir nicht bekannt - wie stellst Du Dir das denn vor (mit der Formel) ?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266660</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Sun, 15 Apr 2007 18:10:41 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Struktur on Sun, 15 Apr 2007 18:22:33 GMT]]></title><description><![CDATA[<p>Naja z.B. diese Struktur:</p>
<pre><code class="language-cpp">struct datensatz{
	char	*name_1;
	char	name_2[64];
	int	zahl_1;
	double	zahl_2
};

datensatz	daten[1000000];
</code></pre>
<p>wenn ich sowas als Konsole programmiert habe, dann hat der Speicher nicht gereicht, also musste ich ihn mit malloc zuweisen, und mein Proggy ist gelaufen, wie ist das jetzt mit einer winapi Fensteranwendung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266676</guid><dc:creator><![CDATA[Timmo]]></dc:creator><pubDate>Sun, 15 Apr 2007 18:22:33 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Struktur on Sun, 15 Apr 2007 19:00:05 GMT]]></title><description><![CDATA[<p>CodeFinder schrieb:</p>
<blockquote>
<p>IMHO ist die Standard-Stackgröße im VC 2005 auf 4 KB eingestellt (lässt sich auch noch irgendwie vergrößern, ob das Sinn macht ist was anderes).</p>
</blockquote>
<p>Die default Stackgrösse unter Windows ist 1MB (!).</p>
<p>Die 4KB sind was anderes, das ist die Grösse einer Page, und unter Windows muss man &quot;Stack-Probes&quot; machen wenn man in einer Funktion mehr als eine Page auf dem Stack braucht. Allerdings generiert jeder Windows C++ Compiler den Code für diese Stack-Probes selbst, das ist nix worum man sich selbst kümmern müsste.</p>
<p>@Timmo: siehe oben: Stackgrösse ist normal 1MB. Da dein Array insgesamt wesentlich grösser als 1MB ist musst du es dynamisch anfordern. Global geht natürlich auch, nur aufm Stack wird das halt nix. Ob &quot;console&quot; oder &quot;windowed&quot; macht dabei keinen Unterschied.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266705</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 15 Apr 2007 19:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Struktur on Sun, 15 Apr 2007 19:17:57 GMT]]></title><description><![CDATA[<p>Naja wie schon bereits gesagt, wie berechne ich den Spiecher den meine Struktur beansprucht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266725</guid><dc:creator><![CDATA[Timmo]]></dc:creator><pubDate>Sun, 15 Apr 2007 19:17:57 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Struktur on Sun, 15 Apr 2007 19:36:02 GMT]]></title><description><![CDATA[<p>Garnicht. Lass ihn dir doch ausrechnen (sizeof(datensatz) * array_groesse).</p>
<p>Davon abgesehen kann die Struktur natürlich niemals kleiner sein als die Summe ihrer Elemente, also char* ist 4 Byte, char[64] ist 64 Byte, int nochmal 4 und double 8. Macht in Summe 4+64+4+8 = 80 Byte, und das mal 1 mio. ist ~80MB.<br />
Kann sich also niemals auf einem 1MB grossen Stack ausgehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266742</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 15 Apr 2007 19:36:02 GMT</pubDate></item></channel></rss>