Выступающий 1: Так что я чувствую, что я, как правило, написать Е привет мир или Е привет процентов с довольно часто в контекстах , где я хочу, чтобы распечатать строка, иногда спрашивая Пользователь часть этой строки. Ну, не было бы неплохо, если бы мы создали функция наше собственное называется, сказать, имя печати, цель которого в жизни просто напечатать привет запятую так и то-то, приняв так и то-то в качестве аргумента этой функции? Мы можем объявить функцию самостоятельно так же, как мы можем в пустом следующим образом. Другими словами, предположим, я хотел бы Е свое имя и затем попросите пользователя для его или ее имя с строке с равно GetString. А потом я хочу вызвать функцию называется имя печати прохождения S в качестве входных данных. Сейчас, к сожалению, нет функции называется имя печать в С или в CS50 библиотека. Но независимо от того, потому что мы может сделать это сами. Чтобы объявить функцию самостоятельно и затем реализовать его, мы можем просто сделать некоторые возможности в этом файле и объявить эта функция следующим образом, недействительными - означающий, что функция не на самом деле происходит что-то вернуть, даже если он будет иметь побочный эффект - печатать имя, а затем давайте уточним в скобках, что имя печать ожидает аргумент типа строки. И вообще, мы будем думать из что в качестве имени. И давайте откроем наш скобки и закрыть нашу скобки. А потом Е внутри привет запятая Новое название линии запятая процентов с. Другими словами, даже если это Функция только одна строка кода, это делает сейчас есть какая-то высшая Цель уровень для печати чье-то имя с приветствием. Теперь внутри основной, обратите внимание, что я называя имя печати, передавая с. И поэтому я, кажется, теперь есть полная программа. Единственная разница в том, от других мы написали, что не только делает эта программа уже главный, он также имеет Декларация и реализация Название печати, функция самостоятельно. Давайте теперь скомпилировать свою программу с указанием марки нулевая функция, и запустить его с точки слэш нулевую функцию. В ответ на запрос на мое имя Я введите Давида. И я действительно приветствуюсь с "Привет, Дэвид." Теперь оказывается, что я совершенно сознательно заявил Ф.И.О. выше основной, тем самым рассказывая C заранее, что такая функция называется печати назвать так, чтобы я мог использовать позже в основной. Теперь, если бы я вместо поместить имя печать на дно моем файле, так же откровенно, я вероятно, следует сделать так, чтобы основные остатки Первое, что я или другой пользователь видит в своем коде, получается, что мой код не собираетесь компилировать. В частности, если я вернусь к моему окно терминала и запустить сделать функцию нулю сейчас, обратите внимание, что я кричал на. Если я прокрутки вверх в моем окне терминала, Я буду видеть эту первую ошибку в красный, неявная декларация функцию печати. Теперь, что же это значит? Ну, хотя я реализовал напечатать имя в этом файле, у меня не реализовали его, прежде чем я имею использовал его в основной. Теперь, мы могли бы вернуться к старому версия и поставить имя принт- Реализация наверху. Но я могу вместо этого просто дают C намек что есть функция приехать. В частности, выше основной могу заявить напечатать имя так же, как я сделал раньше, но завершить линию с запятой, тем самым обещая реализовать, но еще не на самом деле реализации функции называется имя печать. То у меня может быть основным в верхней части моего файл, как я надеялся, и я могу на самом деле реализовать имя печать внизу. Если бы я сейчас возвращаюсь к своему окне терминала и пересобрать нулевую функцию с указанием марки, на этот раз он собирает. И если я запускаю его с точечной функции слэш нулю предоставления мое имя, я приветствовали как "Привет, Дэвид."