1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:04,010 >> SPEAKER 1: Niin Tunnen yleensä kirjoittaa printf hello world tai printf 3 00:00:04,010 --> 00:00:08,160 Hei prosenttia s aika usein yhteyksissä missä haluan tulostaa 4 00:00:08,160 --> 00:00:11,360 string, joskus kysyä Käyttäjä osa merkkijonon. 5 00:00:11,360 --> 00:00:14,980 No, eikö olisi mukavaa, jos loimme toiminta oman kutsutaan, 6 00:00:14,980 --> 00:00:19,900 sanoa, nimen selvennys, jonka elämän tarkoitus on yksinkertaisesti tulostaa Hei pilkulla 7 00:00:19,900 --> 00:00:24,560 niin ja niin hyväksymällä niin ja niin argumenttina tämän tehtävän? 8 00:00:24,560 --> 00:00:29,220 Voimme julistaa funktio oman aivan kuten voimme Scratch seuraavasti. 9 00:00:29,220 --> 00:00:35,280 >> Toisin sanoen, kai haluaisin printf nimesi ja sitten pyytää käyttäjää 10 00:00:35,280 --> 00:00:39,470 hänen nimensä narulla s vastaa getString. 11 00:00:39,470 --> 00:00:42,060 Ja sitten haluan soittaa toiminto nimeltään nimenselvennys 12 00:00:42,060 --> 00:00:44,340 kulkee s tulonaan. 13 00:00:44,340 --> 00:00:47,770 >> Nyt valitettavasti ei ole toimintoa kutsutaan print nimi C tai 14 00:00:47,770 --> 00:00:48,950 CS50 kirjasto. 15 00:00:48,950 --> 00:00:51,220 Mutta ei väliä, koska me voi tehdä sen itse. 16 00:00:51,220 --> 00:00:54,560 Julistaa funktio omamme sitten toteuttaa se, voimme yksinkertaisesti tehdä 17 00:00:54,560 --> 00:00:59,000 jonkin verran tähän tiedostoon ja julistaa tätä toimintoa seuraavasti, void - 18 00:00:59,000 --> 00:01:01,900 merkitsee, että toiminto ei ole todella aikoo palata jotain, 19 00:01:01,900 --> 00:01:03,890 vaikka se on sivuvaikutus - 20 00:01:03,890 --> 00:01:08,030 tulostaa nimi, ja anna n täsmennettävä sulkeisiin nimen selvennys odottaa 21 00:01:08,030 --> 00:01:09,680 väitettä muotoilumerkkijonossa. 22 00:01:09,680 --> 00:01:12,180 Ja yleensä, me ajatella Tämän nimenä. 23 00:01:12,180 --> 00:01:15,140 >> Ja nyt avaamme ahdin ja suljemme ahdin. 24 00:01:15,140 --> 00:01:21,930 Ja sitten printf sisällä Hei pilkulla prosenttia s uusi rivi pilkku nimi. 25 00:01:21,930 --> 00:01:24,570 Toisin sanoen, vaikka tämä toiminto on vain yksi rivi koodia, se 26 00:01:24,570 --> 00:01:27,290 ei nyt joitakin korkeampi tasolla tarkoitus tulostaa 27 00:01:27,290 --> 00:01:28,950 joku nimi ja tervehdys. 28 00:01:28,950 --> 00:01:33,115 >> Nyt sisällä tärkein, huomaa, että olen soittamalla nimenselvennys johtamalla s. 29 00:01:33,115 --> 00:01:35,830 Ja niin minä näyttävät nyt olevan täydellinen ohjelma. 30 00:01:35,830 --> 00:01:38,650 Ainoa ero on muilta olemme kirjoitettu on, että ei ainoastaan 31 00:01:38,650 --> 00:01:42,480 Tämän ohjelman tärkein, se on myös ilmoitus ja täytäntöönpano 32 00:01:42,480 --> 00:01:44,740 Tulosta nimi, toiminto omani. 33 00:01:44,740 --> 00:01:49,505 >> Katsotaanpa nyt kääntää minun ohjelma make toiminta nolla, ja ajaa sen kanssa piste 34 00:01:49,505 --> 00:01:51,080 slash toiminto nolla. 35 00:01:51,080 --> 00:01:53,390 Kun kysytään nimeni Tulen kirjoita David. 36 00:01:53,390 --> 00:01:55,830 Ja minä todellakin olen tervehti kanssa "Hei, David." 37 00:01:55,830 --> 00:02:00,160 >> Nyt en näköjään hyvin tietoisesti julisti nimenselvennys edellä main, 38 00:02:00,160 --> 00:02:03,860 mikä kertoo C etukäteen, että siellä olemassa toiminto nimeltä tulosta 39 00:02:03,860 --> 00:02:06,930 nimi, jotta voisin käyttää se myöhemmin main. 40 00:02:06,930 --> 00:02:11,610 Nyt, jos olisin sen sijaan laittaa print nimeni pohjasta minun tiedoston, koska suoraan sanottuna 41 00:02:11,610 --> 00:02:15,310 luultavasti pitäisi tehdä niin, että tärkein jää Ensimmäinen asia, että olen tai 42 00:02:15,310 --> 00:02:18,450 toinen käyttäjä näkee minun koodi, käy ilmi, että minun koodi on 43 00:02:18,450 --> 00:02:19,780 aio koota. 44 00:02:19,780 --> 00:02:23,610 >> Erityisesti, jos menen takaisin minun terminaali-ikkuna ja suorita make toiminto 45 00:02:23,610 --> 00:02:26,120 nolla nyt huomaan, että olen huusi. 46 00:02:26,120 --> 00:02:30,340 Jos minä selaamalla ylös minun pääteikkunaa Nähdään tämä ensimmäinen virhe punainen, 47 00:02:30,340 --> 00:02:33,120 implisiittinen ilmoitus monitoimitulostuspalvelin nimi. 48 00:02:33,120 --> 00:02:34,220 >> Nyt, mitä se tarkoittaa? 49 00:02:34,220 --> 00:02:37,190 No, vaikka olen lisännyt tulosta nimi tähän tiedostoon, en ole 50 00:02:37,190 --> 00:02:40,080 täytäntöön ennen olen käyttää sitä tärkein. 51 00:02:40,080 --> 00:02:43,160 Nyt voisimme mennä takaisin vanhaan versio ja laittaa nimenselvennys: n 52 00:02:43,160 --> 00:02:44,450 täytäntöönpanon ylös. 53 00:02:44,450 --> 00:02:48,730 >> Mutta voin sen sijaan vain antaa C vihje että siellä on toiminto tulla. 54 00:02:48,730 --> 00:02:55,390 Erityisesti edellä main voin julistaa tulostaa nimensä sellaisena kuin tein aiemmin, mutta 55 00:02:55,390 --> 00:02:59,450 Loppuun mukaisesti puolipisteellä, mikä lupaavat toteuttaa, mutta ei vielä 56 00:02:59,450 --> 00:03:02,180 tosiasiallisesti täytäntöön toiminto nimeltään nimenselvennys. 57 00:03:02,180 --> 00:03:05,860 Voin sitten on tärkein yläreunassa minun tiedostoon kuin toivoin, ja voin todella 58 00:03:05,860 --> 00:03:07,440 täytäntöön nimenselvennys alareunassa. 59 00:03:07,440 --> 00:03:12,860 >> Jos minä nyt palaan pääteikkunaan ja kääntää toiminto nolla make, 60 00:03:12,860 --> 00:03:14,390 tällä kertaa se kokoaa. 61 00:03:14,390 --> 00:03:18,240 Ja jos juoksen sen dot slash toiminto nolla tarjoaa nimeni, olen 62 00:03:18,240 --> 00:03:20,650 tervehti kuin "Hei, David." 63 00:03:20,650 --> 00:03:22,268