Ключевая разница - прототип функции и определение функции в C
Функция - это группа операторов, используемых для выполнения определенной задачи. В программировании на C выполнение начинается с main(). Это функция. Вместо того, чтобы писать все операторы в одной программе, ее можно разделить на несколько функций. Каждая функция будет выполнять разные функции. Прототип функции сообщает компилятору об имени функции, возвращаемых типах и параметрах. Он также известен как объявление функции. Каждая функция имеет определенное имя для ее идентификации. Операторы функций записываются внутри пары фигурных скобок. Функции могут возвращать значение. Есть некоторые функции, которые не возвращают значение. Данные передаются в функцию с помощью списка параметров. Определение функции имеет фактическую функциональность, выполняемую функцией. В программировании на C есть прототип функции и определение функции. Ключевое различие между прототипом функции и определением функции заключается в том, что прототип функции содержит только объявление функции, а определение функции содержит фактическую реализацию функции. В определении функции есть локальные переменные и операторы, которые определяют, что делает функция.
Что такое прототип функции в C?
Function 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=calMax(p, q);
printf("Максимальное значение %d\n", ответ);
возврат 0;
}
int calMax(int p, int q){
целое значение;
if(p>q) {
значение=p;
}
else {
значение=q;
}
возвращаемое значение;
}
Согласно предыдущему, второй оператор показывает прототип функции. У него нет реализации. Фактическая реализация после основной программы. Прототипы функций более полезны при определении функции в одном исходном файле и вызове этой функции в другом в другом файле.
Что такое определение функции в C?
Определение функции имеет фактическую реализацию функции. Он содержит то, что функция должна делать. Когда программа вызывает функцию, управление передается вызываемой функции. После выполнения функции управление возвращается обратно к основной функции. Необходимые данные передаются функции в виде списка параметров. Если возвращается значение, указывается тип возвращаемого значения. Если нет возвращаемых значений, возвращаемый тип недействителен. Обратитесь к приведенной ниже функции для вычисления площади треугольника.
включить
float calArea(int x, int y);
int main () {
int p=10;
int q=20;
плоская площадь;
площадь=calArea(p, q);
printf («Максимальное значение %f\n», область);
возврат 0;
}
float calArea (int x, int y) {
значение с плавающей запятой;
значение=0,5xy;
возвращаемое значение;
}
Согласно приведенной выше программе, второй оператор указывает на прототип функции. Фактическая реализация того, что выполняет функция, записывается после основной программы. Это определение функции. Значения p и q передаются функции calArea. Значение переменной является локальной переменной функции calArea. Площадь рассчитывается и присваивается значению переменной. Затем возвращается обратно в основную программу.
Каковы сходства между прототипом функции и определением функции в C?
- И прототип функции, и определение функции связаны с функциями.
- И прототип функции, и определение функции содержат имя функции.
- И прототип функции, и определение функции содержат возвращаемые типы.
- И прототип функции, и определение функции содержат параметры.
В чем разница между прототипом функции и определением функции в C?
Прототип функции и определение функции в C |
|
Прототип функции указывает имя функции, тип возвращаемого значения, параметры, но опускает тело функции. | Определение функции указывает имя функции, тип возвращаемого значения; параметры включают тело функции. |
Реализация | |
Прототип функции не имеет реализации функции. | Определение функции содержит реализацию функции. |
Резюме – Прототип функции и определение функции в C
Использование функций в программах имеет свои преимущества. Функции повышают возможность повторного использования кода. Нет необходимости писать один и тот же код снова и снова. Вместо этого программист может разделить программу и вызвать нужную функцию. В C есть библиотечные функции. Эти функции объявлены в заголовочных файлах C. Некоторые из них - это printf(), scanf() и т. д. Программист также может написать свои собственные функции. Есть два термина, которые связаны с функциями в C. Это прототип функции и определение функции. Разница между прототипом функции и определением функции в C заключается в том, что прототип функции содержит только объявление функции, а определение функции содержит фактическую реализацию функции.
Загрузить PDF-файл «Прототип функции и определение функции в C»
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономном режиме в соответствии с примечанием к цитированию. Загрузите PDF-версию здесь: Разница между прототипом функции и определением функции в C