>> 1 głośnik: Tak czuję, że mają tendencję do Napisać printf hello world lub printf
witam procent a dość często w kontekstach gdzie chcę wydrukować
ciąg, czasami prosząc część użytkownik tego łańcucha.
Cóż, nie byłoby miło, jeśli stworzyliśmy Funkcja własne nazywa,
powiedzieć, nazwę druku, którego celem w życiu jest po prostu wydrukować komentarzy przecinek
tak-i-tak, przyjmując to i tak jako argument tej funkcji?
Możemy zadeklarować funkcję własny po prostu, jak to możliwe w Scratch następująco.
>> Innymi słowy, załóżmy, że chciałbym printf swoje imię, a następnie zwrócić się do użytkownika
na swoje nazwisko z ciągu znaków y jest równa GetString.
A potem chcę wywołać funkcję nazwie nazwa druku
przechodząc s jako wejścia.
>> Teraz, niestety, nie ma funkcji nazwie nazwa wydruku w C lub w
Biblioteka CS50.
Ale nie ważne, bo może zrobić to sami.
Zadeklarować funkcji własnych i następnie wdrożyć go, możemy po prostu zrobić
jakiś pokój w tym pliku i deklarują ta funkcja w następujący sposób, nieważne -
co oznacza, że ​​funkcja nie jest rzeczywiście zamierza powrócić coś,
nawet jeśli będzie to miało efekt uboczny -
wydrukować nazwę, a następnie niech określić w nawiasie nazwa druku oczekuje
argument typu string.
A w ogóle, będziemy myśleć o, że jako nazwy.
>> I otwórzmy nasze klamra i zamknąć naszą nawias.
A następnie printf wewnątrz komentarzy przecinek Procent s nowa nazwa linii przecinek.
Innymi słowy, chociaż Funkcja tylko jedna linia kodu, to
ma teraz trochę większe Celem poziom do druku
czyjeś imię z powitania.
>> Teraz wewnątrz głównej, zauważysz, że jestem wzywając imienia druku przechodząc s.
I tak wydaje mi się teraz, aby mieć kompletny program.
Jedyna różnica jest z innymi mamy napisane jest, że nie tylko nie
Ten program nie głównym, ma też deklaracja i realizacja
nazwa wydruku, funkcja sama.
>> Załóżmy teraz skompilować mój program z make Funkcja zero, i uruchomić go z kropką
zerowania slash.
Gdy pojawi się monit o moim imieniu Będę wpisać David.
A ja rzeczywiście jestem witany z "Witaj, David."
>> Teraz okazuje się, że bardzo świadomie zadeklarowana nazwa wydruku powyżej głównym,
co mówi C z góry, że nie istnieje funkcja o nazwie print
nazwać tak, że mogę korzystać to później w głównym.
Teraz, gdybym zamiast umieścić nazwę drukarki w Dno moim pliku, a szczerze mówiąc
prawdopodobnie powinien to zrobić, że główne szczątki Pierwszą rzeczą, że albo
inny użytkownik widzi w kodzie, Okazuje się, że mój kod jest
nie zamierza skompilować.
>> W szczególności, jeśli wrócę do mojego okno terminalu i uruchom make funkcji
zera teraz zauważyć, że jestem krzyknął.
Jeśli przewijać się w moim oknie terminala, Zobaczymy to pierwszy błąd w kolorze czerwonym,
niejawna deklaracja nazwa funkcji drukowania.
>> Teraz, co to oznacza?
Cóż, mimo że zostały wdrożone wydrukować nazwy w tym pliku, nie mam
wdrożone go przed Mam stosować go w głównym.
Teraz możemy wrócić do starych wersję i umieścić nazwę druku
wdrożenie się do góry.
>> Ale może zamiast po prostu dać C podpowiedź że istnieje funkcja przyjść.
W szczególności, nad głównym mogę zadeklarować wydrukować nazwę tak jak ja wcześniej, ale
zakończyć linię średnikiem, a tym samym obiecując realizacji, ale jeszcze nie
faktycznie realizacji funkcji nazwie nazwa wydruku.
Mogę wtedy głównym na górze moja złożyć jak miałem nadzieję, i może faktycznie
wdrożenia nazwę wydruku na dole.
>> Gdybym teraz wrócić do mojego oknie terminala i zerowania rekompilacji z marki,
tym razem kompiluje.
A jeśli uruchomię go z funkcji slash dot zera zapewniając moje imię, jestem
powitany jako "Witaj, David."