<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=23741&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-04-27T10:45:37+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23741&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-04-27T10:45:37+01:00</updated>
<published>2021-04-27T10:45:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232124#p232124</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232124#p232124"/>
<title type="html"><![CDATA[Re: Zagadka - jaki jest wynik kodu :)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232124#p232124"><![CDATA[
dokładnie - to jest że tak powiem śmietnik zmiennych - bo wszystkie zdychają po wyjściu funkcji, więc to co w nich może się pojawić jeśli nie są ze specyfikatorem static - to czysty RANDOM, najczęściej zero jak się uda ale nie zawsze ... tu nie ma co gdybać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 kwi 2021, o 10:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zealota]]></name></author>
<updated>2021-04-27T10:11:40+01:00</updated>
<published>2021-04-27T10:11:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232123#p232123</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232123#p232123"/>
<title type="html"><![CDATA[Re: Zagadka - jaki jest wynik kodu :)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232123#p232123"><![CDATA[
foo() nie da żadnego wyniku, bo &quot;nic nie robi&quot;. Przy agresywnej optymalizacji nawet nie zostanie wykonana.<br />bar() da losowe wyniki, bo jako zmienna lokalna x jest umieszczana na stosie przy każdym uruchomieniu i może mieć losowe wartości. Jest to standardowy &quot;undefined behavior&quot;. Natomiast jeśli program będzie dokładnie jak powyższy, to uruchomienie foo() zainicjuje zmienną lokalną pod konkretnym adresem stosu, następnie czas życia zmiennej się skończy, ale wartość pod adresem pozostanie. Pierwsze wykonanie bar() może wyświetlić wartość 5, bo jest szansa, że jeszcze ta wartość tam będzie. Drugie wykonanie bar() wyświetli 6, bo zinkrementuje aktualną wartość  5+1. Natomiast to wszystko to nadal &quot;undefined behavior&quot; i nie można oczekiwać zawsze wyniku 5 i 6. Optymalizacje dadzą wyniki losowe.<br /><br />To oczywiście przykład czysto szkoleniowy, zupełnie niepraktyczny, bo nie można oczekiwać w sensownym programowaniu, że jakaś wartość zostanie na stosie i &quot;będzie można jej użyć&quot;. Przykład ten zarazem jest ciekawy, bo pokazuje co się dzieje ze zmiennymi lokalnymi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16487">Zealota</a> — 27 kwi 2021, o 10:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-27T08:27:19+01:00</updated>
<published>2021-04-27T08:27:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232122#p232122</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232122#p232122"/>
<title type="html"><![CDATA[Re: Zagadka - jaki jest wynik kodu :)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232122#p232122"><![CDATA[
A nie, sorki - &quot;0&quot;, bo postinkrementacja <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 27 kwi 2021, o 08:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[amilo_pa]]></name></author>
<updated>2021-04-27T07:59:10+01:00</updated>
<published>2021-04-27T07:59:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232121#p232121</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232121#p232121"/>
<title type="html"><![CDATA[Re: Zagadka - jaki jest wynik kodu :)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232121#p232121"><![CDATA[
A co reszta o tym myśli ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3824">amilo_pa</a> — 27 kwi 2021, o 07:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-27T07:39:27+01:00</updated>
<published>2021-04-27T07:39:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232120#p232120</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232120#p232120"/>
<title type="html"><![CDATA[Re: Zagadka - jaki jest wynik kodu :)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232120#p232120"><![CDATA[
Zmienna x nie jest w procedurze static to chyba co by nie robił w wyniku będzie 1, ale tylko gdybam <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 27 kwi 2021, o 07:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[amilo_pa]]></name></author>
<updated>2021-04-26T22:47:25+01:00</updated>
<published>2021-04-26T22:47:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232118#p232118</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232118#p232118"/>
<title type="html"><![CDATA[Zagadka - jaki jest wynik kodu :)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23741&amp;p=232118#p232118"><![CDATA[
Hej, <br /><br />Taka mała zagadka:<br /><br />[syntax=c]#include &lt;stdio.h&gt;<br /><br />void foo(void)<br />{<br />    int a = 5;<br />    int b;<br />}<br /><br />void bar(void)<br /><br />{<br />    int x;<br />    printf(&quot;%d\n&quot;, x++);<br />}<br /><br />int main(void)<br />{<br />    foo();<br />    bar();<br />    bar();<br /><br />    return 0;<br />}[/syntax]<br /><br />Jestem ciekawy waszych odpowiedzi, jaki będzie wynik (z optymalizacją i bez) <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3824">amilo_pa</a> — 26 kwi 2021, o 22:47</p><hr />
]]></content>
</entry>
</feed>