[Powered by Google Translate] Toiminnot ovat koodiosia käytetään suurempaa ohjelmaa
suorittaa tietyn tehtävän.
Ne tunnetaan myös menettelyjä, aliohjelmat ja aliohjelmien,
koska ne todella ovat vain mini ohjelmia ohjelmia.
Vaikka et ehkä ole huomannut,
olet varmasti käyttänyt toimintoja jo jos olet ohjelmoitu C
Kun kirjoitat juttuja näytön avulla printf,
olet todellisuudessa käyttävät toiminto nimeltään printf.
Samoin GetInt ja GetString ovat toimintoja, jotka CS50 tarjoaa sinulle.
Kuten ohjelmoijat, käytämme toiminnot useista syistä.
>> Ottaa toiminnot suorittaa yleisiä tehtäviä, kuten kirjallisesti näytön
ja kysyy käyttäjältä syötteitä säästää aikaa ohjelmoinnissa.
Se ei ole tarpeen kirjoittaa koodia tekemään näitä samoja asioita
koska he ovat jo tehneet meille.
Se ei ole edes tarpeen meitä ymmärtämään, miten nämä toiminnot toimivat sisäisesti.
Sen sijaan meidän täytyy vain osata käyttää niitä tai soittaa meidän ohjelmissa.
On myös hyödyllistä kirjoittaa toimintoja suurempiin ohjelmiin
vaikka et suunnittelun ottaa toisten käyttää niitä,
vain jakaa suurempi tehtävä käsin.
Näin annat rakenne koodi paljon kuin haluat jäsentää essee,
ja todella suuria projekteja otat useita henkilöitä
työskennellä eri osat samaan aikaan
koska se on selvää, missä yhden henkilön työ päättyy ja toinen on alkaa.
>> Toiminnot toimivat tyypillisesti 1 tai useamman tuloliitännän, kutsutaan väitteitä tai parametreja,
muuttaa nämä panostukset lähdön arvoa, joka sitten palautetaan.
On kuitenkin myös mahdollista saada toimintoja, jotka eivät käytä mitään syöttää argumentteja
ja älä palauta tuotos.
Okei, tarpeeksi pörröinen kamaa.
Otetaan katsomaan joitakin todellisia toimintoja C.
>> Täällä meillä on toiminto nimeltään neliö, että uskokaa tai älkää,
laskee neliön tulo.
Katsotaanpa leikellä syntaksia sitä.
Ensimmäinen sana näet toiminnon, int,
määrittää paluu toimintonäppäimen tyypin, eli C-tyypin funktion lähtöön.
Tämä toiminto tulostaa arvon tyypin int.
Seuraava sana näet on funktion nimi, neliö tässä tapauksessa.
Nimeäminen toimintoja asianmukaisesti on erityisen tärkeää
koska se on luultavasti näkyvin dokumentointi mitä toiminto tekee.
Voisi olla siistiä nimetä tämän toiminnon Shazam tai Booyah,
mutta se ei kerro meille mitään, mitä toiminto tekee.
>> Jälkeen funktion nimi tulee panoksia toiminnon argumentteja.
Ne on lueteltu sisällä joukko sulkeissa
sekä niiden tyypin ja nimen käyttää niitä kehossa funktion.
Square vie vain 1 väitettä, int neliö,
jonka olen päättänyt antaa nimen x.
Tämä päättyy toiminnon ilmoituksen tai prototyyppi.
Aaltosulkumerkkien ympäröivän muun toiminnon
Merkitään alussa ja lopussa toiminto elin,
määritelmän toimintaa itse.
Square on melko yksinkertainen funktio.
Se sai vain 1 rivi, koska meidän täytyy tehdä, on moninkertaistaa x itse.
Sana tuotto ilmoittaa lähdön arvo ja laukaisee pää-toimintoa.
Voit käyttää neliö toimintoa, meidän toimittaa asianmukaiset tulot
ja sitten kaapata lähdön.
Täällä näet pari tapaa tehdä se.
Voimme kulkea raaka int, kuten 6 tai voimme kulkea muuttuja kuin.
Huomaa, että joka kerta me kutsumme neliö,
me kaapata lähdön muuttuja ja tulosta se sitten.
Emme kuitenkaan ole tallentaa palauttaa arvon muuttujaan ja tulostaa.
Voisimme vain lähettää sen suoraan printf niin me teemme square 10,
mutta tämä ei tarkoita, että meillä ei ole pääsyä palauttaa arvon neliö 10
muualla koodin.
Katsotaanpa toinen yksinkertainen esimerkki.
>> Tällä kertaa me summa 2 kelluu yhteen, jotta voimme nähdä, mitä toiminto näyttää
kun se sai 2 tuloa eikä vain 1.
Kuten näette, se ei ole kovin erilainen.
Kaikki mitä teemme on lisätä toinen argumentti, float nimeltään b,
Väitteestä luettelon käyttämällä pilkkua erottamaan sen ensimmäisen väitteen, kellua.
Joten meidän neliö ja summan toiminnot ovat melko helppo ymmärtää
koska he vastaavat toiminnot että olet nähnyt ennen matematiikan luokassa.
Nyt, katsotaanpa toiminto, joka on hieman erilainen.
Sen sijaan palauttaa arvon, se muuttaa tilaan.
Tämä tunnetaan, joilla on sivuvaikutus.
Tässä ohjelmassa printf_fudd_style toiminto
on palautuva, että emme ole ennen nähneet, mitätön.
>> Void on tapana sanoa, että funktio ei palauta mitään.
Ei ole muuttujia tyyppiä void,
joten jos yrität palauttaa jotain toimintoa kuten printf_fudd_style,
kääntäjä huutaa sinulle.
Sisällä printf_fudd_style näemme, että vaikka funktio tekee yhä tehtävä,
eli siirtyminen kaikkien Rs WS,
pisteen tehtävänä on muuttaa merkkijonon ja sitten tulostaa sen näytölle,
tilan muuttamiseen ohjelman sijasta palauttamalla tuloksen.
Käyttämällä tätä toimintoa on hyvin samankaltainen kuin käyttämällä neliö ja summan toimintoja,
paitsi emme säilytä johtaa muuttuja tai siirtää sen pois toisen toiminnon
koska ei ole seurausta puhua.
Joten, kun me kääntää ja ajaa meidän Elmeri ohjelman
näet, että "Sinä ilkikurinen kani!" saa muuntaa oikeus
"Sinä wascally Wabbit!"
>> Lopuksi tulee vielä 1 toiminto kannattaa keskustella
koska olet käyttänyt sitä kaikissa C-ohjelma olet koskaan kirjoittanut, tärkein.
Main on funktio aivan kuten muitakin.
Se sai palautuva, nimi, luettelo argumentteja, ja runko.
Return tyyppi tärkein on aina int-
ja tämä int käytetään viestimään aseman ohjelman, kun se päättyy.
>> Oliko se suorittaa onnistuneesti, tai ei se lopettaa aikaisin virheen takia?
Palaavat nollaan ilmaisee onnistuneen aikavälillä,
ja palauta mitään ei-nolla-arvo osoittaa virheen.
Riippuen millaisia ​​ohjelman olet kirjoittamassa,
palaavat eri koodit eri virheet voivat olla hyödyllinen
ihmisiä jotka käyttää ohjelmaa myöhemmin.
Verkkovirta argumentit ovat hieman monimutkaisempi.
>> Parametrilistaus voi olla joko tyhjä,
jota osoittavat kirjoittamalla void välillä suluissa,
tai luettelossa voi olla 2 argumentteja: int ja joukko char * s.
Näitä käytetään, kun ohjelma aikoo käyttää
väitteet hyväksyttiin komentorivillä kun ohjelma käynnistetään.
INT väite tyypillisesti kutsutaan argc,
ja se on yhtä suuri kuin pituus char * array, joka tunnetaan nimellä argv.
Argv sisältää komentoriviargumentit siirtyi ohjelmaan.
Toisessa lyhyt, me puhumme miten käyttää näitä muuttujia yksityiskohtaisemmin.
Nyt voit vapaasti julistaa main joko tavalla.
En yleensä valita kirjoittaa sitä lyhyempi tavalla, ilman perusteluja, kun se on mahdollista.
>> Nyt osaat kirjoittaa toimintoja,
olet hyvin teidän tapa kehittää suurempia, monimutkaisempia ohjelmia.
Nimeni on Nate Hardison. Tämä on CS50.