<?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=58&amp;t=20488&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-03-26T18:30:27+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=20488&amp;mode</id>
<entry>
<author><name><![CDATA[procek87]]></name></author>
<updated>2018-03-26T18:30:27+01:00</updated>
<published>2018-03-26T18:30:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206098#p206098</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206098#p206098"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206098#p206098"><![CDATA[
OK nie męcze wszystko jasne już rozumiem Dziękuje Mirku Przepraszam . <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=17263">procek87</a> — 26 mar 2018, o 18:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-26T18:15:02+01:00</updated>
<published>2018-03-26T18:15:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206097#p206097</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206097#p206097"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206097#p206097"><![CDATA[
sorry ja się wyłączam, można ileś razy powtarzać ale ty chcesz po raz 10001 ? dziękuję <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> — 26 mar 2018, o 18:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[procek87]]></name></author>
<updated>2018-03-26T18:10:50+01:00</updated>
<published>2018-03-26T18:10:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206095#p206095</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206095#p206095"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206095#p206095"><![CDATA[
czyli jeszcze raz dla pewności uint8_t a=5; --do--&gt; argument funkcji , kopia (uint8_t zegarek);<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17263">procek87</a> — 26 mar 2018, o 18:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-26T17:39:10+01:00</updated>
<published>2018-03-26T17:39:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206090#p206090</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206090#p206090"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206090#p206090"><![CDATA[
DOKŁADNIE TAK, no bo przekazany argument przez wartość nie może zostać zniszczony wewnątrz funkcji rozumiesz? Dlatego przy jej starcie na stosie tworzona jest KOPIA wartości tego argumentu i funkcja wewnątrz operuje na tej kopii - może ją zmieniać - zmielić co tylko chce ... bo to kopia ... A po zakończeniu funkcji i powrocie - twoja zmienna owoc przekazana do funkcji nadal będzie miała tę samą wartość.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 mar 2018, o 17:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[procek87]]></name></author>
<updated>2018-03-26T17:27:54+01:00</updated>
<published>2018-03-26T17:27:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206088#p206088</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206088#p206088"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206088#p206088"><![CDATA[
Ok zrozumiałem wracając do przekazywania wartości w funkcjach <br /><br />to tam dlaczego mówi się że twrzona jest kopia argumentu na stosie  <br /><br />uint8_t a=5; <br /><br />funkcja(a);<br /><br />uint8_t  funkcja(uint8_t zegarek)<br /><br />w momencie przekazania wartości zmiennej a , czyli wartości 5  do funkcji która ładuje sobie tą wartość do argumentu zegarek  , tu masz na myśli tą kopie w książce ?  uint8_t  a=5; ---&gt; uint8_t zegarek;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17263">procek87</a> — 26 mar 2018, o 17:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-26T17:10:12+01:00</updated>
<published>2018-03-26T17:10:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206087#p206087</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206087#p206087"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206087#p206087"><![CDATA[
<div class="quotetitle">procek87 napisał(a):</div><div class="quotecontent"><br />to zmienna owoc będzie miała wartość 5 a nie 10<br /></div><br />ale ty sobie sam w głowie jakiś problem tworzysz - a ile chciałbyś żeby miała ? no zainicjowałeś ją wartością 5 i czego się spodziewasz ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />niczego to dalej nie dowodzi jak piszesz - w ogóle tu już mocno płyniesz z wyjaśnieniami o jakichś kopiach ....<br /><br />masz zmienną owoc = 5 i jej stan nigdzie w tym kodzie ci się nie zmienia, brana jest tylko jej <span style="font-size: 150%; line-height: normal"><span style="color: #0080FF"><strong>wartość</strong></span> </span>do obliczeń (a nie żadna tam jakaś wydumana kopia) i na tym KONIEC panie .... nie ma żadnych kopii owoca <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> już nie kombinuj bo brniesz w jakąś ciemną ślepą uliczkę<br /><br />przykład:<br /><br />1. masz koszyk z 5 jabłkami<br />2. masz luzem 3 śliwki<br />3. oblicz ile razem masz owoców ?<br /><br />WYNIK: = 8<br /><br />czy w wyniku tego działania coś ci się dzieje w koszyku z jabłkami ? No spojrzałeś na koszyk sprawdziłeś własnymi oczami że leży na dnie 5 jabłek (czyli wziąłeś wartość owoców w koszyku) i policzyłeś że masz 3 śliwki luzem - to wszystko<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 mar 2018, o 17:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[procek87]]></name></author>
<updated>2018-03-26T16:51:55+01:00</updated>
<published>2018-03-26T16:51:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206086#p206086</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206086#p206086"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206086#p206086"><![CDATA[
tak ale jeśli <br /><br />[syntax=c]uint8_t  warzywo<br />uint8_t owoc=5;<br />uint8_t a;<br /><br />a= owoc+5;<br /><br />warzywa = owoc;[/syntax]<br /><br />to  zmienna owoc będzie miała wartość 5  a nie 10 , przykład dowodzi temu że w tej operacji <strong>a= owoc+5;</strong> kompilator operuje już nie na <strong>uint8_t owoc;</strong> o zawartości 5 tylko na jej kopii , zgadza się tylko jak i gdzie jest przetrzymywana ta kopia jak to się dzieje że <strong>uint8_t owoc=5;</strong> się nie zmienia i jest w niej stale 5 ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Przepraszam za to że męczę chce po prostu jak najwięcej zrozumieć im więcej czy to Mirek czy ktoś opowiada o tym , piszę to tym  to lepiej to zaczynam sobie wyobrażać .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17263">procek87</a> — 26 mar 2018, o 16:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-26T13:01:07+01:00</updated>
<published>2018-03-26T13:01:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206078#p206078</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206078#p206078"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206078#p206078"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />To do obliczeń zostanie pobrana kopia zmiennej owoc bo zmiana nie może nastąpić bezpośrednio na niej dobrze rozumiem ?<br /></div><br />jaka kopia - no toż tu aż ciężko mówić o jakich kopiach .... po co ci kopia do takiego działania<br /><br />a = owoc + 5;<br /><br />toż zostanie dokonane obliczenie gdzie dodana zostanie wartość zmiennej owoc do wartości stałej dosłownej a wynik trafi do zmiennej a.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 mar 2018, o 13:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[procek87]]></name></author>
<updated>2018-03-26T12:24:05+01:00</updated>
<published>2018-03-26T12:24:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206073#p206073</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206073#p206073"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206073#p206073"><![CDATA[
A co ze zmiennymi  zdefiniowanymi i zainicjowanymi jakimiś wartościami , jeśli będę chciał ją wykorzystać w obliczeniach  <br /><br />uint8_t owoc=5;<br />a= owoc+5;<br /><br /><br />To do obliczeń zostanie pobrana kopia zmiennej owoc bo zmiana nie może nastąpić bezpośrednio na niej  dobrze rozumiem ? Czyli mamy dwa miejsca gdzie jest przechowywana zmienna owoc jedno w RAM jeśli to jest zmienna lokalna to na stosie,  a drugie w  no właśnie i chyba jest to stos, tylko jest to miejsce stworzone na krótką chwilę na czas wykonania operacji dlatego kod zajmie jeden bajt a nie dwa. Dobrze rozumiem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17263">procek87</a> — 26 mar 2018, o 12:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-26T07:30:16+01:00</updated>
<published>2018-03-26T07:30:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206061#p206061</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206061#p206061"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206061#p206061"><![CDATA[
<div class="quotetitle">procek87 napisał(a):</div><div class="quotecontent"><br />pomiędzy nawiasami w wywołaniu 5 jest traktowana jako int<br /></div><br />bardzo dobrze - bo stałe dosłowne są domyślnie traktowane jak int<br /><br /><div class="quotetitle">procek87 napisał(a):</div><div class="quotecontent"><br />dopiero po przekazaniu do funkcji kompilator rzutuje ją do uint8_t.<br /></div><br />też dobrze<br /><br /><div class="quotetitle">procek87 napisał(a):</div><div class="quotecontent"><br />Kompilator wie to stąd że w deklaracji funkcji podaje się typ uint8_t stąd póżniej następuje <span style="color: #FF0000"><strong>ż</strong></span>utowanie stałej<br /></div><br />też dobrze<br /><br /><div class="quotetitle">procek87 napisał(a):</div><div class="quotecontent"><br />oberwie mi się<br /></div><br />a za co? ja wyżej odniosłem się tylko do tego, że argument nie ma nic wspólnego z rezultatem funkcji<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 mar 2018, o 07:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[procek87]]></name></author>
<updated>2018-03-26T06:54:37+01:00</updated>
<published>2018-03-26T06:54:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206060#p206060</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206060#p206060"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206060#p206060"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />stała dosłowna 5 zostaje przekazana jako<br /></div><br /> pomiędzy nawiasami w wywołaniu  5 jest traktowana jako int dopiero po przekazaniu do funkcji kompilator rzutuje ją do uint8_t.<br /><br />Kompilator wie to stąd że w deklaracji funkcji podaje się typ uint8_t stąd póżniej następuje żutowanie stałej <br />dosłownie którą kompilator traktuje jako int domyślnie jak każdą dosłowną .<br /><br />oberwie mi się  <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=17263">procek87</a> — 26 mar 2018, o 06:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-25T20:53:46+01:00</updated>
<published>2018-03-25T20:53:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206052#p206052</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206052#p206052"/>
<title type="html"><![CDATA[Re: funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206052#p206052"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />w efekcie mamy i owoc i koszyk jako uint8_t w których jest to samo i jedna komórka nie oddziałuje na drugą, czy mam rację czy popełniam błędy w rozumieniu tego.<br /></div><br />to nie są jakieś komórki które porównujesz do zmiennych, argument funkcji przekazywany przez wartość - jest jak słusznie zauważyłeś przekazywany przez jego kopię tworzoną w trakcie wywołania funkcji na stosie ...  Poczytaj rozdział o funkcjach gdzie to bardzo precyzyjnie wyjaśniam<br /><br /><div class="quotetitle">procek87 napisał(a):</div><div class="quotecontent"><br />wywołanie funkcji i przekazanie argumentu aktualnego , stała dosłowna wartość 5 którą kompilator potraktuje jako int i zrzutuje do typu jaki zwraca funkcja, czy dobrze rozumiem?<br /></div><br />No tutaj to pokręciłeś na maksa - stała dosłowna 5 zostaje przekazana jako argument do funkcji i nie ma nic wspólnego z rezultatem bo to dopiero od kodu który jest w ciele funkcji zależy jaki będzie rezultat czyli wynik tej funkcji<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 25 mar 2018, o 20:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[procek87]]></name></author>
<updated>2018-03-25T20:46:47+01:00</updated>
<published>2018-03-25T20:46:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206050#p206050</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206050#p206050"/>
<title type="html"><![CDATA[funkcja przekazywanie przez wartość]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20488&amp;p=206050#p206050"><![CDATA[
Witam czytając BB i analizując rozdział funkcje podrozdział&quot; przekazywanie argumentu przez wartość&quot; <br />wyciągłem wnioski  pytanie do was czy dobre więc mnie naprostujcie jeśli coś źle będę pisał <br /><br />bo zauważyłem że jeśli    zdefiniuje  zmienną i zainicjuje ją wartością np . 5<br /><br /> [syntax=c]uint8_t guzik = 5 ;[/syntax]<br /><br />to w kodzie gdybym chciał   zrobić tak  :<br /><br />[syntax=c]uint8_t guzik =5;<br />uint8_t  skrzynia;<br /><br />skrzynia = guzik + 4;  // zwiększenie i wynik 9[/syntax]<br /><br /> wartość  komórki  ,w której jest uint8_t guzik =5; nie ulegnie zmianie tylko zawartość zmiennej guzik zostanie pobrana i zapisana do komórek roboczych jako typ <strong>( int)</strong>  ,<strong>(int)</strong> guzik + 4; <br />do obliczeń i do tej pobranej kopii, którą kompilator sobie pobrał do obliczeń  zostanie dodane 4   , wynik trafi do komórki  zmiennej skrzynia.<br /><br />podobna sytuacja jest z funkcjami i przekazywaniem argumentu przez wartość zauważyłem podobieństwo do sytuacji powyżej  z funkcjami,  też tak jest że argument , wartość jest pobierana do obliczeń  z komórki  i przekazywana do komórki w której znajdują się parametry formalne<br /><br /><strong>uint8_t owoc ;       //definicja komórki owoc<br /><br />funkcja (owoc)      //wywołanie i przekazanie zawartości komórki( parametr aktualny)<br /><br />funkcja (koszyk)   // praca w  definicji funkcja na kopii zawartości  owoc   ,która nazywa się koszyk i pracuje się z nią wewnątrz funkcji <br />{<br />}        </strong><br /><br />w efekcie mamy i owoc i koszyk jako uint8_t  w których jest to samo i jedna komórka nie oddziałuje na drugą, czy mam rację czy popełniam błędy w rozumieniu tego.                  <br /><br />zapytam jeszcze o to:<br /><br />[syntax=c]uint8_t  funkcja (5) //argumentem nie jest zmienna tylko stała dosłowna[/syntax]<br /><br />wywołanie funkcji i przekazanie argumentu aktualnego  , stała dosłowna  wartość 5 którą kompilator potraktuje jako int i zrzutuje do typu jaki zwraca funkcja, czy dobrze rozumiem?<br /><br />Pozdrawiam spider<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17263">procek87</a> — 25 mar 2018, o 20:46</p><hr />
]]></content>
</entry>
</feed>