Witam czytając BB i analizując rozdział funkcje podrozdział" przekazywanie argumentu przez wartość"
wyciągłem wnioski pytanie do was czy dobre więc mnie naprostujcie jeśli coś źle będę pisał
bo zauważyłem że jeśli zdefiniuje zmienną i zainicjuje ją wartością np . 5
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to w kodzie gdybym chciał zrobić tak :
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
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
( int) ,
(int) guzik + 4;
do obliczeń i do tej pobranej kopii, którą kompilator sobie pobrał do obliczeń zostanie dodane 4 , wynik trafi do komórki zmiennej skrzynia.
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
uint8_t owoc ; //definicja komórki owoc
funkcja (owoc) //wywołanie i przekazanie zawartości komórki( parametr aktualny)
funkcja (koszyk) // praca w definicji funkcja na kopii zawartości owoc ,która nazywa się koszyk i pracuje się z nią wewnątrz funkcji
{
} 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.
zapytam jeszcze o to:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
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?
Pozdrawiam spider