<?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[Frage zu Deklaration und Definition]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>wenn ich folgendes in meinem Code schreibe:</p>
<pre><code>long i;
for (i=0;i&lt;20;i++)
{
long h = 0;
h + 10;
}
</code></pre>
<p>Wird h dann jedes mal auf 0 gesetzt oder nur beim ersten Schleifendurchlauf?<br />
&quot;Darf&quot; man sowas überhaupt schreiben? Oder ist das vielleicht &quot;unsauber&quot; oder nicht definiertes Verhalten?</p>
<p>Gruß<br />
Scarabol</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/238910/frage-zu-deklaration-und-definition</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 17:22:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/238910.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Apr 2009 07:54:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Deklaration und Definition on Fri, 17 Apr 2009 07:54:32 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>wenn ich folgendes in meinem Code schreibe:</p>
<pre><code>long i;
for (i=0;i&lt;20;i++)
{
long h = 0;
h + 10;
}
</code></pre>
<p>Wird h dann jedes mal auf 0 gesetzt oder nur beim ersten Schleifendurchlauf?<br />
&quot;Darf&quot; man sowas überhaupt schreiben? Oder ist das vielleicht &quot;unsauber&quot; oder nicht definiertes Verhalten?</p>
<p>Gruß<br />
Scarabol</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697056</guid><dc:creator><![CDATA[Scarabol]]></dc:creator><pubDate>Fri, 17 Apr 2009 07:54:32 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Deklaration und Definition on Fri, 17 Apr 2009 07:56:00 GMT]]></title><description><![CDATA[<p>Na überleg mal, du definierst bei jedem Schleifendurchlauf die Variable h neu.Somit wird sich auch immer wieder auf 0 gesetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697059</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Fri, 17 Apr 2009 07:56:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Deklaration und Definition on Fri, 17 Apr 2009 07:57:28 GMT]]></title><description><![CDATA[<p>Wird jedesmal neu erzeugt und auf 0 gesetzt (irgendwelche eventuellen Optimierungen lassen wir jetzt mal außer Acht). Umgehen könntest du das übrigens mit static.</p>
<p>P.S.: In der letzten Zeile passiert nix. Du führst zwar eine Rechenoperation aus, das Ergebnis wird aber keiner Variable zugewiesen. Du meintest vermutlich</p>
<pre><code class="language-cpp">h+=10;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1697060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697060</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 17 Apr 2009 07:57:28 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Deklaration und Definition on Fri, 17 Apr 2009 08:41:17 GMT]]></title><description><![CDATA[<p>Wird h denn auch am Ende der Schleife freigegeben?</p>
<p>Ja, richtig ich meinte +=, danke</p>
<p>Gruß<br />
Scarabol</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697080</guid><dc:creator><![CDATA[Scarabol]]></dc:creator><pubDate>Fri, 17 Apr 2009 08:41:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Deklaration und Definition on Fri, 17 Apr 2009 08:44:41 GMT]]></title><description><![CDATA[<blockquote>
<p>Wird h denn auch am Ende der Schleife freigegeben?</p>
</blockquote>
<p>Nein. Bei jedem Durchgang wird dein h erzeugt und danach gerade wieder freigegeben.</p>
<blockquote>
<p>Umgehen könntest du das übrigens mit static.</p>
</blockquote>
<p>Das ist technisch möglich, macht aber überhaupt keinen Sinn und ich finde, Anfänger sollten damit verschont bleiben.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697082</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 17 Apr 2009 08:44:41 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Deklaration und Definition on Fri, 17 Apr 2009 09:04:39 GMT]]></title><description><![CDATA[<p>theta schrieb:</p>
<blockquote>
<blockquote>
<p>Umgehen könntest du das übrigens mit static.</p>
</blockquote>
<p>Das ist technisch möglich, macht aber überhaupt keinen Sinn und ich finde, Anfänger sollten damit verschont bleiben.</p>
</blockquote>
<p>Na ja, im konkreten Beispiel macht static natürlich wenig Sinn, zugegeben. Aber es gibt ja durchaus Fälle, wo das anders aussieht, daher fand ich es erwähnenswert. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1697098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697098</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 17 Apr 2009 09:04:39 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Deklaration und Definition on Fri, 17 Apr 2009 11:50:52 GMT]]></title><description><![CDATA[<p>Scarabol schrieb:</p>
<blockquote>
<p>Wird h denn auch am Ende der Schleife freigegeben?</p>
</blockquote>
<p>Stackvariablen werden immer am Ende des Gültigkeitsbereichs, also bei schliessender geschweifter Klammer, zerstört. Das heisst, eine Variable, die innerhalb des Schleifenrumpfs deklariert ist, wird bei jedem Durchgang neu erstellt (von irgendwelchen Optimierungen mal abgesehen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697194</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 17 Apr 2009 11:50:52 GMT</pubDate></item></channel></rss>