Функция - это группа операторов, используемая для выполнения определенной задачи. В программировании на C выполнение начинается с main (). Это функция. Вместо того чтобы писать все операторы в одной программе, его можно разделить на несколько функций. Каждая функция будет выполнять разные функции. Прототип функции сообщает компилятору об имени функции, возвращаемых типах и параметрах. Это также известно как объявление функции. Каждая функция имеет определенное имя для ее идентификации. Операторы функции написаны внутри пары фигурных скобок. Функции могут возвращать значение. Есть некоторые функции, которые не возвращают значение. Данные передаются в функцию с помощью списка параметров. Определение функции имеет фактическую функциональность, выполняемую функцией. В программировании на Си есть прототип функции и определение функции. ключевое отличие между прототипом функции и определением функции является то, что прототип функции содержит только объявление функции, в то время как определение функции содержит фактическую реализацию функции. Определение функции имеет локальные переменные и операторы, которые определяют, что делает функция.
1. Обзор и основные отличия
2. Что такое прототип функции в C
3. Что такое определение функции в C
4. Сходство между прототипом функции и определением функции в C
5. Сравнение бок о бок - прототип функции и определение функции в C в табличной форме
6. Резюме
Функция Prototype обеспечивает объявление функции. Он указывает имя функции, возвращаемые типы, параметры. Типы возврата - это тип данных, который возвращается из функции. Когда функция возвращает целое число, тип возвращаемого значения - int. Когда функция возвращает значение с плавающей точкой, тип возвращаемого значения - это число с плавающей точкой. Если функция не возвращает никакого значения, это пустая функция. Имя функции используется для его идентификации. Ключевые слова C не могут использоваться в качестве имен функций. Данные передаются в функцию с использованием параметров. Прототип функции не содержит реальной реализации функции. Прототип функции имеет следующий синтаксис.
(список параметров);
Если есть функция для вычисления максимума двух чисел, объявление может быть записано как int max (int num1, int num2); Максимальное значение должно быть найдено в num1 и num2. Это целые числа, и они передаются в функцию. Тип возврата, в начале, также int. Итак, функция возвращает целочисленное значение. Нет необходимости записывать имена параметров в прототипе функции. Но нужно писать типы данных. Следовательно, int max (int, int); также является действительным прототипом функции. Если есть два целых числа как num1, num2, num3 и прототип записывается как int max (int num1, int num2, num3); это недействительно. Num1, num2 имеют типы данных, но num3 не имеет типа данных. Следовательно, это недействительно.
См. Ниже программу.
#включают
int CarMax (int x, int y);
int main ()
int p = 10;
int q = 20;
int answer;
answer = calMax (p, q);
printf («Максимальное значение% d \ n», ответ);
вернуть 0;
int calMax (int p, int q)
значение int;
if (p> q)
значение = р;
еще
значение = q;
возвращаемое значение;
Согласно вышеизложенному, второе утверждение показывает прототип функции. У него нет реализации. Фактическая реализация после основной программы. Прототипы функций более полезны при определении функции в одном исходном файле и при вызове этой функции в другом файле..
Определение функции имеет фактическую реализацию функции. Он содержит то, что должна делать функция. Когда программа вызывает функцию, управление передается вызываемой функции. После выполнения функции элемент управления возвращается к основной функции. Необходимые данные передаются в функцию в виде списка параметров. Если есть возвращаемое значение, то указывается тип возвращаемого значения. Если возвращаемых значений нет, тип возвращаемого значения void. Обратитесь к функции ниже, чтобы рассчитать площадь треугольника.
#включают
float calArea (int x, int y);
int main ()
int p = 10;
int q = 20;
площадь вспышки;
area = calArea (p, q);
printf («Максимальное значение% f \ n», площадь);
вернуть 0;
float calArea (int x, int y)
значение с плавающей запятой;
значение = 0,5 * х * у;
возвращаемое значение;
Согласно вышеприведенной программе, второе утверждение указывает на прототип функции. Фактическая реализация того, что выполняет функция, записывается после основной программы. Это определение функции. Значения p и q передаются в функцию calArea. Значение переменной является локальной переменной для функции calArea. Площадь рассчитывается и присваивается переменной значения. Затем он возвращается обратно в основную программу.
Прототип функции против определения функции в C | |
Прототип функции указывает имя функции, тип возвращаемого значения, параметры, но опускает тело функции. | Определение функции указывает имя функции, тип возвращаемого значения; параметры включают тело функции. |
Реализация | |
Прототип функции не имеет реализации функции. | Определение функции имеет реализацию функции. |
Использование функций в программах имеет свои преимущества. Функции увеличивают возможность повторного использования кода. Нет необходимости писать один и тот же код снова и снова. Вместо этого программист может разделить программу и вызвать необходимую функцию. В Си есть библиотечные функции. Эти функции объявлены в заголовочных файлах C. Некоторые из них - printf (), scanf () и т. Д. Программист также может написать свои собственные функции. Есть два термина, которые связаны с функциями в C. Они функционируют как прототип и определение функции. Разница между прототипом функции и определением функции в C состоит в том, что прототип функции содержит только объявление функции, в то время как определение функции содержит фактическую реализацию функции..
Вы можете скачать PDF-версию этой статьи и использовать ее в автономном режиме согласно примечанию. Пожалуйста, загрузите PDF версию здесь: Разница между прототипом функции и определением функции в C
1.C Определения функций. Доступна здесь
2.tutorialspoint.com. «Функции C». Смысл. Доступна здесь
1. «Логотип языка программирования С», Резонансовы (общественное достояние) через Викисклад Commons