1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:04,010 >> Выступоўца 1: Так што я адчуваю, што я, як правіла, напісаць Е прывітанне свет ці Е 3 00:00:04,010 --> 00:00:08,160 прывітанне адсоткаў з даволі часта ў кантэкстах , Дзе я хачу, каб раздрукаваць 4 00:00:08,160 --> 00:00:11,360 радок, часам пытаючыся Карыстальнік частка гэтага радка. 5 00:00:11,360 --> 00:00:14,980 Ну, не было б нядрэнна, калі б мы стварылі функцыя наша ўласнае называецца, 6 00:00:14,980 --> 00:00:19,900 сказаць, імя друку, мэта якога ў жыцці проста надрукаваць прывітанне коску 7 00:00:19,900 --> 00:00:24,560 так і то-то, прыняўшы так і то-то ў якасці аргументу гэтай функцыі? 8 00:00:24,560 --> 00:00:29,220 Мы можам аб'явіць функцыю самастойна гэтак жа, як мы можам у пустым наступным чынам. 9 00:00:29,220 --> 00:00:35,280 >> Іншымі словамі, выкажам здагадку, я хацеў бы Е сваё імя і затым папытаеце карыстальніка 10 00:00:35,280 --> 00:00:39,470 для яго ці яе імя з радку з роўна GetString. 11 00:00:39,470 --> 00:00:42,060 А потым я хачу выклікаць функцыю называецца імя друку 12 00:00:42,060 --> 00:00:44,340 праходжання S ў якасці ўваходных дадзеных. 13 00:00:44,340 --> 00:00:47,770 >> Зараз, на жаль, няма функцыі называецца імя друк у З або ў 14 00:00:47,770 --> 00:00:48,950 CS50 бібліятэка. 15 00:00:48,950 --> 00:00:51,220 Але незалежна ад таго, таму што мы можа зрабіць гэта самі. 16 00:00:51,220 --> 00:00:54,560 Каб абвясціць функцыю самастойна і затым рэалізаваць яго, мы можам проста зрабіць 17 00:00:54,560 --> 00:00:59,000 некаторыя магчымасці ў гэтым файле і аб'явіць гэтая функцыя наступным чынам, несапраўднымі - 18 00:00:59,000 --> 00:01:01,900 які азначае, што функцыя не на самай справе адбываецца нешта вярнуць, 19 00:01:01,900 --> 00:01:03,890 нават калі ён будзе мець пабочны эфект - 20 00:01:03,890 --> 00:01:08,030 друкаваць імя, а затым давайце ўдакладнім ў дужках, што імя друк чакае 21 00:01:08,030 --> 00:01:09,680 аргумент тыпу радка. 22 00:01:09,680 --> 00:01:12,180 І наогул, мы будзем думаць з што ў якасці імя. 23 00:01:12,180 --> 00:01:15,140 >> І давайце адкрыем наш дужкі і зачыніць нашу дужкі. 24 00:01:15,140 --> 00:01:21,930 А потым Е ўнутры прывітанне коска Новая назва лініі коска працэнтаў з. 25 00:01:21,930 --> 00:01:24,570 Іншымі словамі, нават калі гэта Функцыя толькі адзін радок кода, гэта 26 00:01:24,570 --> 00:01:27,290 робіць зараз ёсць нейкая вышэйшая Мэта ўзровень для друку 27 00:01:27,290 --> 00:01:28,950 чыёсьці імя з прывітаннем. 28 00:01:28,950 --> 00:01:33,115 >> Зараз усярэдзіне асноўны, звярніце ўвагу, што я называючы імя друку, перадаючы с. 29 00:01:33,115 --> 00:01:35,830 І таму я, здаецца, зараз ёсць поўная праграма. 30 00:01:35,830 --> 00:01:38,650 Адзіная розніца ў тым, ад іншых мы напісалі, што не толькі робіць 31 00:01:38,650 --> 00:01:42,480 гэтая праграма ўжо галоўны, ён таксама мае Дэкларацыя і рэалізацыя 32 00:01:42,480 --> 00:01:44,740 Назва друку, функцыя самастойна. 33 00:01:44,740 --> 00:01:49,505 >> Давайце зараз скампіляваць сваю праграму з указаннем маркі нулявая функцыя, і запусціць яго з пункту 34 00:01:49,505 --> 00:01:51,080 слэш нулявую функцыю. 35 00:01:51,080 --> 00:01:53,390 У адказ на запыт на маё імя Я увядзіце Давіда. 36 00:01:53,390 --> 00:01:55,830 І я сапраўды вітаецца з "Прывітанне, Дэвід." 37 00:01:55,830 --> 00:02:00,160 >> Цяпер аказваецца, што я цалкам свядома заявіў імя па бацьку вышэй асноўнай, 38 00:02:00,160 --> 00:02:03,860 тым самым распавядаючы C загадзя, што такая функцыя называецца друку 39 00:02:03,860 --> 00:02:06,930 назваць так, каб я мог выкарыстаць пазней у асноўны. 40 00:02:06,930 --> 00:02:11,610 Цяпер, калі б я замест змясціць імя друк на дно маім файле, гэтак жа шчыра, я 41 00:02:11,610 --> 00:02:15,310 верагодна, варта зрабіць так, каб асноўныя рэшткі Першае, што я ці 42 00:02:15,310 --> 00:02:18,450 іншы карыстальнік бачыць у сваім кодзе, атрымліваецца, што мой код 43 00:02:18,450 --> 00:02:19,780 ня збіраецеся кампіляваць. 44 00:02:19,780 --> 00:02:23,610 >> У прыватнасці, калі я вярнуся да майго акно тэрмінала і запусціць зрабіць функцыю 45 00:02:23,610 --> 00:02:26,120 нуля зараз, звярніце ўвагу, што я крычаў на. 46 00:02:26,120 --> 00:02:30,340 Калі я пракруткі ўверх у маім акне тэрмінала, Я буду бачыць гэтую першую памылку ў чырвоны, 47 00:02:30,340 --> 00:02:33,120 няяўная дэкларацыя функцыю друку. 48 00:02:33,120 --> 00:02:34,220 >> Цяпер, што ж гэта значыць? 49 00:02:34,220 --> 00:02:37,190 Ну, хоць я рэалізаваў надрукаваць імя ў гэтым файле, у мяне не 50 00:02:37,190 --> 00:02:40,080 рэалізавалі яго, перш чым я маю выкарыстаў яго ў асноўны. 51 00:02:40,080 --> 00:02:43,160 Зараз, мы маглі б вярнуцца да старога версія і паставіць імя прынт- 52 00:02:43,160 --> 00:02:44,450 Рэалізацыя наверсе. 53 00:02:44,450 --> 00:02:48,730 >> Але я магу замест гэтага проста даюць C намёк што ёсць функцыя прыехаць. 54 00:02:48,730 --> 00:02:55,390 У прыватнасці, вышэй асноўнай магу заявіць надрукаваць імя гэтак жа, як я зрабіў раней, але 55 00:02:55,390 --> 00:02:59,450 завяршыць лінію з коскі, тым самым абяцаючы рэалізаваць, але яшчэ не 56 00:02:59,450 --> 00:03:02,180 на самай справе рэалізацыі функцыі называецца імя друк. 57 00:03:02,180 --> 00:03:05,860 То ў мяне можа быць асноўным у верхняй частцы майго файл, як я спадзяваўся, і я магу на самой справе 58 00:03:05,860 --> 00:03:07,440 рэалізаваць імя друк ўнізе. 59 00:03:07,440 --> 00:03:12,860 >> Калі б я цяпер вяртаюся да свайго акне тэрмінала і перасабраць нулявую функцыю з указаннем маркі, 60 00:03:12,860 --> 00:03:14,390 на гэты раз ён збірае. 61 00:03:14,390 --> 00:03:18,240 І калі я запускаю яго з кропкавай функцыі слэш нуля прадастаўлення маё імя, я 62 00:03:18,240 --> 00:03:20,650 віталі як "Прывітанне, Дэвід." 63 00:03:20,650 --> 00:03:22,268