>> Виступаючий 1: Так що я відчуваю, що я, як правило, написати Е привіт світ або Е
привіт відсотків з досить часто в контекстах , Де я хочу, щоб роздрукувати
рядок, іноді питаючи Користувач частина цього рядка.
Ну, не було б непогано, якби ми створили функція наше власне називається,
сказати, ім'я друку, мета якого в житті просто надрукувати привіт кому
так і те-то, прийнявши так і те-то як аргумент цієї функції?
Ми можемо оголосити функцію самостійно так само, як ми можемо в порожньому таким чином.
>> Іншими словами, припустимо, я хотів би Е своє ім'я і потім попросіть користувача
для його або її ім'я з рядку з одно GetString.
А потім я хочу викликати функцію називається ім'я друку
проходження S в якості вхідних даних.
>> Зараз, на жаль, немає функції називається ім'я друк в С або в
CS50 бібліотека.
Але незалежно від того, тому що ми може зробити це самі.
Щоб оголосити функцію самостійно і потім реалізувати його, ми можемо просто зробити
деякі можливості в цьому файлі і оголосити ця функція наступним чином, недійсними -
що означає, що функції не насправді відбувається щось повернути,
навіть якщо він матиме побічний ефект -
друкувати ім'я, а потім давайте уточнимо в дужках, що ім'я друк очікує
аргумент типу рядка.
І взагалі, ми будемо думати з що в якості імені.
>> І давайте відкриємо наш дужки і закрити нашу дужки.
А потім Е всередині привіт кома Нова назва лінії кома відсотків с.
Іншими словами, навіть якщо це Функція тільки один рядок коду, це
робить зараз є якась вища Мета рівень для друку
чиєсь ім'я з привітанням.
>> Тепер усередині основної, зверніть увагу, що я називаючи ім'я друку, передаючи с.
І тому я, здається, тепер є повна програма.
Єдина різниця в тому, від інших ми написали, що не тільки робить
ця програма вже головний, він також має Декларація і реалізація
Назва друку, функція самостійно.
>> Давайте тепер скомпілювати свою програму із зазначенням марки нульова функція, і запустити його з точки
слеш нульову функцію.
У відповідь на запит на моє ім'я Я введіть Давида.
І я дійсно вітаюсь з "Привіт, Девід."
>> Тепер виявляється, що я абсолютно свідомо заявив П.І.Б. вище основної,
тим самим розповідаючи C заздалегідь, що така функція називається друку
назвати так, щоб я міг використовувати пізніше в основний.
Тепер, якби я замість помістити ім'я друк на дно моєму файлі, так само відверто, я
ймовірно, слід зробити так, щоб основні залишки Перше, що я або
інший користувач бачить в своєму коді, виходить, що мій код
не збираєтеся компілювати.
>> Зокрема, якщо я повернуся до мого вікно терміналу і запустити зробити функцію
нулю зараз, зверніть увагу, що я кричав на.
Якщо я прокрутки вгору в моєму вікні терміналу, Я буду бачити цю першу помилку в червоний,
неявна декларація функцію друку.
>> Тепер, що ж це значить?
Ну, хоча я реалізував надрукувати ім'я в цьому файлі, у мене не
реалізували його, перш ніж я маю використовував його в основний.
Тепер, ми могли б повернутися до старого версія і поставити ім'я принт-
Реалізація нагорі.
>> Але я можу замість цього просто дають C натяк що є функція приїхати.
Зокрема, вище основної можу заявити надрукувати ім'я так само, як я зробив раніше, але
завершити лінію з комою, тим самим обіцяючи реалізувати, але ще не
насправді реалізації функції називається ім'я друк.
То у мене може бути основним у верхній частині мого файл, як я сподівався, і я можу насправді
реалізувати ім'я друк внизу.
>> Якби я зараз повертаюся до свого вікні терміналу і пересобрать нульову функцію із зазначенням марки,
на цей раз він збирає.
І якщо я запускаю його з точковою функції слеш нулю надання моє ім'я, я
вітали як "Привіт, Девід."