[Powered by Google Translate] Funkcje są sekcje kodu stosowane w ramach większego programu wykonywanie danego zadania. Znane są również, jak procedury, procedury i podprogramie gdyż tak naprawdę to tylko mini programy w programach. Chociaż może nie zauważyłeś, z całą pewnością już nie używanych funkcji, jeśli już programować w C. Kiedy piszesz rzeczy do ekranu za pomocą printf, jesteś rzeczywiście użyciu funkcji o nazwie printf. Podobnie getInt i GetString są funkcjami, które CS50 zapewnia dla Ciebie. Jak programistów używamy funkcji dla wielu powodów. Pełniące funkcje do wykonywania typowych zadań, takich jak pisanie na ekranie i pyta użytkownika o wejściu oszczędza nam czas podczas programowania. To nie jest konieczne, aby napisać kod, aby robić te same rzeczy ponieważ są już dla nas uczynił. To nie jest nawet konieczne dla nas, aby dokładnie zrozumieć, jak te funkcje działają wewnętrznie. Zamiast tego, po prostu musimy wiedzieć, jak korzystać lub zadzwonić do nich w naszych programach. Jest to przydatne do napisania funkcji w większych programów nawet jeśli nie planujesz posiadania inni używają ich, po prostu podzielić się większą zadania. W ten sposób tworzą strukturę w kodzie tak jak chcesz dać strukturę eseju, i naprawdę dużych projektów włączyć kilka osób do pracy w różnych częściach jednocześnie ponieważ jest jasne, gdzie czyjaś praca się kończy, a drugi zaczyna. Funkcje działają zazwyczaj na 1 lub większej liczby wejść, znanych jako argumenty lub parametry, przekształcenie tych wejściowych wartość wyjściową, która jest następnie zwracany. Jednakże, jest to również możliwe, aby funkcje, które nie korzystają z żadnych argumentów wejściowych i nie zwracają wyjście. Dobra, wystarczy z puszystego materiału. Weźmy spojrzeć na niektóre funkcji rzeczywistych w C. Tutaj mamy funkcję o nazwie square, że w to wierzyć lub nie, oblicza kwadrat wejścia. Miejmy wnikliwie składnię niego. Pierwsze słowo widać w funkcji int, określa typ wartości funkcji, to jest typu C w funkcji mocy. Ta funkcja wyświetli wartość z typu int. Następne słowo widzisz to nazwa funkcji, kwadratowy w tym przypadku. Nazewnictwo funkcji właściwie jest szczególnie ważne bo to jest chyba najbardziej widoczne dokumentacja co funkcja robi. To może być fajne nazwać tę funkcję Shazam lub booyah, ale to nie mówi nam nic o tym, co funkcja robi. Po nazwa funkcji przyjść wejść do funkcji, argumenty. Zostały one wymienione w środku zestawu nawiasach zarówno ich rodzaj i nazwę używanego do nich w ciele funkcji. Kwadrat zajmuje tylko 1 argument, int do kwadratu, który zdecydowałem dać x nazw. To kończy deklaracji funkcji lub prototypu. Nawiasy klamrowe otaczające resztę funkcji oznaczają początek i koniec ciała funkcji, Definicja samej funkcji. Kwadrat jest dość prosta funkcja. To tylko ma 1 linię, ponieważ wszystko, co musimy zrobić, to pomnożyć x przez siebie. Powrót słowo określa wartość wyjściową i powoduje zakończenie funkcji. Aby korzystać z kwadratu, musimy dostarczyć odpowiednich wejść a następnie przechwycić wyjście. Tutaj można zobaczyć kilka sposobów na zrealizowanie tego. Możemy przejść w surową int, jak 6, lub możemy przekazać w zmiennej jak. Należy pamiętać, że za każdym razem, nazywamy kwadrat, możemy przejąć wyjście w zmiennej, a następnie je wydrukować. Jednakże, nie mamy do przechowywania wartości zwracanej w zmiennej, a następnie wydrukować. Moglibyśmy wysłać ją bezpośrednio do printf, jak my, gdy kwadrat 10, ale to nie znaczy, że nie mamy dostępu do wartości zwracanej placu 10 gdzie indziej w kodzie. Spójrzmy na inny prosty przykład. Tym razem, będziemy sumować 2 pływaków ze sobą tak, że możemy zobaczyć, co wygląda jak funkcja kiedy ma 2 wejścia, a nie tylko 1. Jak widać, to nie jest o wiele inny. Wszystko co robimy, to dodać w 2 argumentu typu float o nazwie b, na liście argumentów za pomocą przecinka, aby oddzielić ją od pierwszego argumentu, float. Więc nasz plac i funkcje suma są dość łatwe do zrozumienia ponieważ są one równoważne z funkcji, które widziałem wcześniej w klasie matematycznej. Teraz spójrzmy na funkcję, która jest nieco inna. Zamiast zwracać wartość, zmienia stan. Jest to znane jako działania niepożądanego. W tym programie, funkcja printf_fudd_style ma typ zwrotny, że nie widział, nieważne. Pustka jest mawiał, że funkcja nie zwraca nic. Brak zmienne typu void, więc jeśli próbujesz wrócić coś z funkcji takich jak printf_fudd_style, kompilator będzie krzyczeć na ciebie. Wewnątrz printf_fudd_style, widzimy, że gdy funkcja nadal wykonuje zadania, mianowicie, przełączanie wszystkie RS do WS, punktem funkcji jest zmodyfikować ciąg, a następnie wydrukować go na ekranie, zmiany stanu programu, a nie z powrotem w wyniku. Korzystanie z tej funkcji jest bardzo podobne do korzystania z naszego placu i funkcji SUM, chyba nie zapisać wynik w zmiennej lub przekazać go do innej funkcji ponieważ brak jest wynikiem mówić. Kiedy więc skompilować i uruchomić nasz program Elmer Fudd, widać, że "You łotrowski królik!" zostaje przekształcone prawo "You wascally Wabbit!" Wreszcie, nie ma 1 więcej funkcji warte dyskusji skoro już go używać w każdym programie C kiedykolwiek napisane, main. Główna funkcja jest jak każdy inny. Jest tam zwracany typ, nazwę, listę argumentów, i ciało. Typ zwracany głównej jest zawsze int, i to int jest stosowany dla stanu, gdy kończy programu. Czy to zakończą się pomyślnie, czy to się skończyło wcześnie z powodu błędu? Powrotu do zera oznacza pomyślne bieg, i powrót jakąkolwiek wartość niezerową wskazuje błąd. W zależności od rodzaju programu podczas pisania, powrocie różne kody dla różnych błędów może być pomocna dla ludzi, którzy korzystają z programu później. Mains argumenty są nieco bardziej skomplikowane. Lista argumentów może być albo pusta, które wskazują, pisząc pustkę w nawiasach, lub lista może mieć 2 argumenty: int i tablica char * s. Są one stosowane, gdy Twój program zamierza wykorzystać Argumenty przekazywane w linii poleceń, kiedy program jest wywołany. Int argument jest zazwyczaj nazywany argc, i jest równa długości tablicy char *, znany jako argv. Argv zawiera argumenty wiersza poleceń przekazane do programu. W innym słowem, będziemy rozmawiać o tym, jak korzystać z tych zmiennych, bardziej szczegółowo. Teraz, możesz czuć się swobodnie zadeklarować głównego albo sposób. I zwykle wybrać do napisania go krótszą drogę, bez żadnych argumentów, jeśli to możliwe. Teraz, gdy wiesz, jak napisać funkcje, jesteś na dobrej drodze do rozwoju większych i bardziej złożonych programów. Nazywam się Nate Hardison. To CS50.