<?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[struct größe]]></title><description><![CDATA[<p>hallo leute</p>
<p>ich hab grad folgenden test gemacht:</p>
<pre><code>struct test1
{
   char a1[1];
   char a2[4];
   char a3[2];
   char a4[1];
};

struct test2
{
   char a1;
   int a2;
   short a3;
   char a4;
};

auto main(int, char**) -&gt; int
{
   std::cout &lt;&lt; &quot;sizeof(test1) = &quot; &lt;&lt; sizeof(test1) &lt;&lt; std::endl;
   std::cout &lt;&lt; &quot;sizeof(test2) = &quot; &lt;&lt; sizeof(test2) &lt;&lt; std::endl;
   return 0;
}
</code></pre>
<p>ergebnis:</p>
<pre><code>sizeof(test1) = 8
sizeof(test2) = 12
</code></pre>
<p>ich hab hier einfach all die verschiedenen membervariablen durch char arrays abgebildet.<br />
ist es vom standard so geregelt das char-arrays immer ohne padding-bytes im speicher hintereinander abgelegt werden ? oder ist das vom compiler abhaengig ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338476/struct-größe</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 11:59:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338476.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 18 Jun 2016 08:20:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to struct größe on Sat, 18 Jun 2016 08:20:34 GMT]]></title><description><![CDATA[<p>hallo leute</p>
<p>ich hab grad folgenden test gemacht:</p>
<pre><code>struct test1
{
   char a1[1];
   char a2[4];
   char a3[2];
   char a4[1];
};

struct test2
{
   char a1;
   int a2;
   short a3;
   char a4;
};

auto main(int, char**) -&gt; int
{
   std::cout &lt;&lt; &quot;sizeof(test1) = &quot; &lt;&lt; sizeof(test1) &lt;&lt; std::endl;
   std::cout &lt;&lt; &quot;sizeof(test2) = &quot; &lt;&lt; sizeof(test2) &lt;&lt; std::endl;
   return 0;
}
</code></pre>
<p>ergebnis:</p>
<pre><code>sizeof(test1) = 8
sizeof(test2) = 12
</code></pre>
<p>ich hab hier einfach all die verschiedenen membervariablen durch char arrays abgebildet.<br />
ist es vom standard so geregelt das char-arrays immer ohne padding-bytes im speicher hintereinander abgelegt werden ? oder ist das vom compiler abhaengig ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499302</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Sat, 18 Jun 2016 08:20:34 GMT</pubDate></item><item><title><![CDATA[Reply to struct größe on Sat, 18 Jun 2016 08:40:06 GMT]]></title><description><![CDATA[<p>Da ein char die kleinste adressierbare Einheit ist, kann es auf jeder Adresse liegen.</p>
<p>Warum sollten da Padding-Bytes eingefügt werden, wenn kein Alignment nötig ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499303</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Sat, 18 Jun 2016 08:40:06 GMT</pubDate></item></channel></rss>