Ключевое отличие - прототип функции против определения функции в C
Функция - это группа операторов, используемых для выполнения определенной задачи. В программировании на C выполнение начинается с main (). Это функция. Вместо того, чтобы писать все операторы в одной программе, ее можно разделить на несколько функций. Каждая функция будет выполнять разные функции. Прототип функции сообщает компилятору имя функции, возвращаемые типы и параметры. Это также известно как объявление функции. Каждой функции присвоено определенное имя. Операторы функций записаны в фигурных скобках. Функции могут возвращать значение. Некоторые функции не возвращают значение. Данные передаются в функцию с использованием списка параметров. Определение функции имеет фактическую функциональность, выполняемую функцией. В программировании на C есть прототип функции и определение функции. Ключевое различие между прототипом функции и определением функции заключается в том, что прототип функции содержит только объявление функции, а определение функции содержит фактическую реализацию функции. В определении функции есть локальные переменные и операторы, которые определяют, что функция делает.
СОДЕРЖАНИЕ
1. Обзор и основные отличия
2. Что такое прототип функции в C
3. Что такое определение функции в C
4. Сходства между прототипом функции и определением функции в C
5. Параллельное сравнение - прототип функции и определение функции в C в табличной форме
6. Резюме
Что такое прототип функции в C?
Прототип функции предоставляет объявление функции. В нем указывается имя функции, типы возвращаемых данных и параметры. Типы возвращаемого значения - это тип данных, возвращаемый функцией. Когда функция возвращает целое число, возвращается тип 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) {
значение = 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,5 * х * у;
возвращаемое значение;
}
Согласно приведенной выше программе, второй оператор указывает прототип функции. Фактическая реализация того, что выполняет функция, написана после основной программы. Это определение функции. Значения p и q передаются в функцию calArea. Значение переменной - это локальная переменная для функции calArea. Площадь рассчитывается и присваивается значение переменной. Затем он возвращается в основную программу.
Каковы сходства между прототипом функции и определением функции в C?
- И прототип функции, и определение функции связаны с функциями.
- И прототип функции, и определение функции содержат имя функции.
- И прототип функции, и определение функции содержат типы возвращаемых значений.
- И прототип функции, и определение функции содержат параметры.
В чем разница между прототипом функции и определением функции в C?
Различать статью в середине перед таблицей
Прототип функции против определения функции в C |
|
Прототип функции указывает имя функции, тип возвращаемого значения, параметры, но опускает тело функции. | В определении функции указывается имя функции, тип возвращаемого значения; параметры включают тело функции. |
Реализация | |
Прототип функции не имеет реализации функции. | Определение функции имеет реализацию функции. |
Резюме - Прототип функции против определения функции в C
Использование функций в программах имеет преимущества. Функции увеличивают возможность повторного использования кода. Нет необходимости писать один и тот же код снова и снова. Вместо этого программист может разделить программу и вызвать необходимую функцию. В C есть библиотечные функции. Эти функции объявлены в заголовочных файлах C. Некоторые из них - это printf (), scanf () и т. Д. Программист также может писать свои собственные функции. С функциями в C связаны два термина. Это прототип функции и определение функции. Разница между прототипом функции и определением функции в C состоит в том, что прототип функции содержит только объявление функции, а определение функции содержит фактическую реализацию функции.
Загрузите PDF-файл с описанием прототипа функции и определения функции на C
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономных целях в соответствии с примечанием к цитированию. Пожалуйста, скачайте PDF-версию здесь: Разница между прототипом функции и определением функции в C