Cześć i witaj.
W tym wykładzie chcę porozmawiać o argumentach i parametrach.
Te terminy mają tendencję do bycia używane zamiennie.
Z czym mają do czynienia z to w zasadzie dane, które
przekazujesz do funkcji.
Zatem parametr jest zmienną oraz deklaracja funkcji
i implementacja definicji funkcji.
Pamiętaj, ta różnica między deklaracja funkcji,
prototyp funkcji i definicja funkcji.
Deklaracja funkcji to tylko podpis metody,
to nagłówek funkcji.
Definicja funkcji to
implementacja funkcji, rzeczywisty kod.
W obu tych terminach definicję deklaracji, zrozum
te różnice.
Ale parametr jest tym, co jest w środku deklaracja funkcji i definicja
znajdują się w tym nagłówku.
Ponieważ uwzględniono oba nagłówki w definicji w deklaracji.
Gdy wywoływana jest funkcja, plik argumenty to dane, które przekazujesz do
parametrów funkcji.
To są rzeczywiste wartości zmiennej, która jest
przekazywana do funkcji.
Więc zdefiniowano parametry funkcji w nagłówku funkcji i
ich symbole zastępcze dla argumenty, które należy określić, gdy
funkcja jest wywoływana.
Więc zrozum różnicę tutaj między argumentami a parametrami.
Parametry mają związek z definicja i deklaracja funkcji.
Argumenty są tam, gdzie ty wywołać
funkcję, gdy wywołujesz funkcję, plik dane, które przekazujesz.
Więc argumenty są używane podczas wywoływania.
Powiesz, że to są argumenty które idą do mojej funkcji.
A kiedy funkcja otrzyma te dane, nazywane
są one parametrami.
Parametry funkcji to lista nazw parametrów wraz z ich
typami danych.
Każdy parametr to oddzielone przecinkiem.
Cała lista parametrów to w nawiasach po nazwie
funkcji.
Funkcja nie może mieć parametry, co oznacza, że nie
są do niego przekazywane żadne dane.
W tym przypadku po prostu masz lewy i prawy nawias z pustą
między nimi lub pustą, ty nadal może mieć to jako puste nic pomiędzy nimi, ale
to dobra praktyka aby umieścić między nimi pustkę.
Pustka to specjalne słowo kluczowe to nic nie znaczy, oznacza brak parametrów
lub brak danych zwrotnych.
Parametry zapewniają środki przekazywanie danych do funkcji.
Dane przekazane z funkcji wywołującej do wywoływanej funkcji, wywołaj e
do końca odbierającego, the koniec wywołujący i koniec odbierający.
Nazwy parametrów są lokalne dla funkcji.
Porozmawiamy o tym kiedy mówimy o danych lokalnych.
Ale tylko te nazwy parametrów istnieją w treści funkcji.
Przyjmą wartości argumenty, które są do niego przekazywane.
Więc jeśli masz funkcję o nazwie dodaj, przekazujesz
zmienną jako argument, przekazujesz wartość 5 i masz funkcję z parametrem
x, x będzie równe do 5 w dowolnym miejscu w treści funkcji.
Treść funkcji powinien używać tych parametrów
w swojej implementacji.
Jeśli tak się nie stanie, to oni nie powinien zostać zdany.
Jeśli masz zmienną parametryczną zdefiniowane w definicji
deklaracji funkcji i nigdy tego nie używasz zmienna wewnątrz funkcji, to marnotrawstwo, nie dołączaj
jej, ponieważ to tylko mówi, że go nie potrzebujesz.
Nie wysyłaj danych do funkcja, która go nie używa.
Treść funkcji może mieć dodatkowe lokalnie zdefiniowane zmienne, które są
wymagane przez implementację funkcji.
Możesz mieć wewnątrz funkcji body zadeklarowano inne zmienne, ponieważ
są potrzebne bez względu na zadanie, które wykonujesz.
Nie tylko działasz na danych, które są do niego przekazywane.
Możesz działać lokalnie dane wewnątrz funkcji.
Podczas przekazywania tablicy jako pliku argument do funkcji,
musisz również przekazać dodatkowy argument, mają zdefiniowany inny parametr
określający rozmiar tablicy.
Powodem tego jest to, że funkcja nie ma możliwości dowiedzenia się, ile elementów
znajduje się w tablicy.
Więc nawet jeśli zadeklarowałeś tablica o rozmiarze 50, możesz
przechowywać tylko 30 elementów.
A jeśli zamierzasz tego użyć tablica wewnątrz ciała funkcji, prawdopodobnie będziesz
tego potrzebować wiesz, jakie to jest duże, ponieważ będziesz potrzebować albo iteracji
przez to za pomocą pętli lub będziesz musiał
uzyskać dostęp do elementów.
A jeśli twoje elementy dostępu iterujesz,
musisz wiedzieć, czy nie kiedy jesteś poza zasięgiem.
I rozmawialiśmy o wyjściu z tam są i dlaczego jest to ważne.
Oto przykład.
Gdy funkcja printf jest wywoływana, zawsze podajesz jedną
lub więcej wartości jako argumenty.
Pierwsza wartość jest taka ciąg w cudzysłowie.
Pozostałe wartości są dowolne zmienne do wyświetlenia.
W rzeczywistości jest to funkcja przyjmuje zmienną liczbę argumentów, o których
prawdopodobnie nie będziemy mówić ponieważ jest to klasa dla początkujących, jest
to bardziej zaawansowana koncepcja.
Ale funkcja printf to dobry przykład, jeśli
chodzi o przekazywanie do niego danych, ponieważ przekazujesz wiele zestawów
danych do niego, albo ciąg znaków w cudzysłowie, albo zmienne, które chcesz wyświetlić.
Dlatego tak ważne jest, aby móc przekazywać dane do funkcji.
Znacznie zwiększa użyteczność i elastyczność funkcji.
Jeśli funkcje nie mają rozszerzenia zdolności do przyjmowania danych, nie
byłyby tak przydatne.
W podanym przeze mnie przykładzie w ostatnim
wykładzie, gdzie mieliśmy wyświetloną funkcję wyjście, to tak naprawdę nie dało wiele.
To było bardzo statyczne.
Zrobił to samo za każdym razem, gdy go wywołałeś.
Ale co by było, gdybyś miał funkcję który pobrał dane, możesz
kontrolować, co jest wyświetlane.
Więc podobnie jak funkcja printf.
Jeśli funkcja printf nie mają parametry, nie byłbyś w stanie
powiedzieć, co ma wyświetlić.
Jeśli nie zaakceptowałeś danych, ty nie byłby w stanie powiedzieć, hej,
wyświetlić tej zmiennej ani wyświetlić tego ciągu.
Nie byłoby to zbyt przydatne.
Więc chcesz być w stanie zdać dane do funkcji sprawiają, że
jest ona znacznie bardziej użyteczna i elastyczna.
I zobaczysz to.
Mam na myśli, jeśli pomnożymy funkcja, nie chciałbyś mnożyć tego samego
za każdym razem dwie liczby.
Wziąłbyś parametry i dane zostanie przekazany do niego za dwie liczby.
Możesz więc wykonać różne obliczenia na podstawie przekazanych do niego danych.
Bardzo, bardzo ważne, aby zrozumieć przekazywanie danych i dlaczego jest to przydatne.
Warto też dodać komentarze przed każdą z własnych
definicji funkcji.
Pomaga wyjaśnić, co to jest funkcja będzie działać i jak
mają być używane argumenty.
Zazwyczaj to zobaczysz.
Zobaczysz to na moich przykładach.
Masz deklarację funkcji na początku pliku znajduje
się definicja funkcji.
Definicja funkcji obejmuje nagłówek funkcji.
Tuż nad funkcją nagłówek, masz komentarze,
zwykle komentarze wieloliniowe.
Więc masz ukośnik, gwiazdkę.
I tam podajesz nazwę funkcja, cel funkcji, a następnie opisz również
dowolne dane który jest przekazywany do funkcji.
To znowu jest do konserwacji i znacznie szybciej znajdować
i naprawiać błędy.
Zwykle chcesz mieć dobre imię dla funkcji, która
coś ci powie.
Ale z dodatkowymi komentarzami powie ci jeszcze więcej.
Oto przykład, który jest funkcją która mnoży dwie liczby, otrzymując
przekazanie danych.
Mamy pomnożone przez nas dwie liczby.
Wiemy, że to funkcja, ponieważ ma zasadniczo parametry.
Ma nawiasy.
To jeden ze sposobów identyfikacji funkcje, gdy widzisz nawiasy.
Chodzi mi o to, że moglibyśmy również zidentyfikować ponieważ ma typ zwracany.
Jest tego wiele rzeczy powiedz nam, że to funkcja.
Ale najważniejsze są nawiasy a następnie widzisz nawiasy, nawiasy
klamrowe, które oznaczają początek i koniec bloku.
To pomnoży dwa liczby jednak funkcjonują.
Pamiętaj, że parametry funkcji są zdefiniowane między nawiasami, a następnie
oddzielone przecinkami.
Tutaj mamy dwa parametry.
Mamy parametr o nazwie x i parametr o nazwie y.
Dla każdego parametru, ty muszą zidentyfikować typ
danych, które napływają.
Mamy więc tutaj dwa int.
To jest standardowy sposób przekazać dane i jak to zrobić.
W nawiasach dane wpisz nazwę zmiennej.
Nazwa zmiennej, ponieważ wszystko, co jest ważne w c
dla nazwy zmiennej, możesz nazwij to x y z, jak chcesz.
Po prostu nie możesz tego zacząć z symbolem dolara.
A potem oddzielasz je przecinkami, przyzwyczaić się do tej
konwencji, parametry w nawiasach.
Gdybyś nie miał żadnych parametrów, żadnych danych co jest
przekazywane do funkcji, co zobaczysz pomiędzy nimi nawias jest pusty lub nie
zobaczysz niczego pomiędzy nawiasami.
Ta funkcja wszystko, co ma zamiar zrobić czy pobierze
przekazane do niego dane, które są dwiema zmiennymi teraz nazwane x i y, i pomnoży je razem i
zapisze w zmiennej o nazwie result lub w tym przypadku wygląda na
to, że źle napisałem t.
A potem co to robi czy drukuje dane.
Drukuje dane to jest pomnożone.
Ale znowu spójrz na elastyczność i użyteczność funkcji,
ponieważ pobiera dane.
Może wyświetlać różne dane na podstawie tego, co je przekazujesz.
Kiedy wywołujemy funkcję w W tym przypadku główna procedura polega na
pomnożeniu dwóch liczb i przekazaniu argumentów.
Przekazujemy wartość 10 i 20.
Moglibyśmy przekazać zmienną nazwiska również tutaj.
Ale w tym przykładzie jesteśmy po prostu mówię 10 i 20.
To wywoła funkcję pomnóż dwie
liczby i przekaże dane 10 dla pierwszy parametr 20 dla drugiego.
Więc x będzie równe 10, y będzie równe 20.
Więc kiedy wykonamy mnożenie x razy y, to będzie 10 razy 20,
wynik się zapisze 200, a
następnie wyświetli ten wynik wraz ze zmiennymi które są przekazywane do x y i z.
Więc to się wyświetli 10 20, a następnie 200.
Zauważ też, że możemy teraz ponownie użyj tej funkcji.
Nazywamy to ponownie z innym dane, wartości danych 20 i 30 w naszej drugiej
linii tutaj w funkcji głównej.
A potem nazywamy to ponownie a trzeci raz, aby pomnożyć 50 przez 2.
Bardzo przydatne, aby móc to zrobić ma to na
celu utworzenie funkcji, która pobiera różne dane wielokrotnego użytku, sprawia, że jest elastyczny.
A składnia jest bardzo łatwa do naśladowania.
To tylko dwie zmienne wewnątrz nawiasy oddzielone przecinkami.
A potem nazwać to parzystym łatwiej, po prostu wstaw
nazwę i masz te dwie dane.
Jakiekolwiek dane są oddzielone wspólne nawiasy boczne, a
następnie zakończone średnikiem.
Możesz zdać dowolne typ danych do funkcji.
Możesz przekazać tablice.
Porozmawiamy też o tym, jak to zrobić możesz przekazać inne typy danych.
Mamy tutaj proste przykłady, ale możesz także podać wskazówki, o których jeszcze
nie rozmawialiśmy.
Możesz przechodzić przez struktury.
Znowu inna koncepcja o których nie rozmawialiśmy.
Ale staje się naprawdę naprawdę znaczące i przydatne, gdy przekazujesz
tutaj dane.
To jest prosty przykład.
Zwróć uwagę na składnię, przestudiuj to i zapewni ci dobre
wyzwanie, gdzie napiszesz wiele różnych funkcji.
Dziękuję Ci.