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