Ключевое различие между объявлением и определением в C заключается в том, что объявление в C сообщает компилятору об имени функции, типе возвращаемого значения и параметрах, тогда как определение в C содержит реальную реализацию функции. То есть объявление предоставляет компилятору информацию о функции, тогда как определение содержит фактические операторы функции для выполнения конкретной задачи.
C - это структурированный язык программирования общего назначения. Он использует структуры управления, такие как if/else, повторения, такие как цикл for, цикл while и функции. Функция - это набор операторов, который помогает выполнять определенную задачу снова и снова. Кроме того, можно вызывать функции из основной функции. После выполнения последнего оператора функции управление переходит обратно к основной функции. В этой статье обсуждается объявление и определение функций в C и сравниваются различия между ними. Определение функции указывает, что делает функция, а объявление указывает, что идет к функции; это прототип.
Что такое декларация в C?
Declaration предоставляет компилятору информацию о функции. Синтаксис объявления следующий.
return_ type имя_функции (список параметров);
Предположим, есть функция, которая вычисляет сумму двух целых чисел. Декларация выглядит следующим образом.
целая сумма (целое число1, целое число2);
Имя функции - sum, а параметры - два целых числа: num1 и num2. Эта функция возвращает целое число. Полный оператор заканчивается точкой с запятой.
Нет необходимости включать имена параметров в объявление. Следовательно, также можно указать только тип данных следующим образом. Ниже приведено допустимое объявление.
int sum (int, int);
Что такое определение в C?
Definition содержит фактические операторы функции для выполнения конкретной задачи. Синтаксис следующий.
return_type имя_функции (список параметров){
// функциональные операторы
}
Имя функции помогает идентифицировать функцию. При вызове функции значения передаются этой функции. Эти значения копируются в параметры. Список параметров может содержать один параметр или несколько параметров. И эти параметры имеют тип данных и имя. Более того, могут быть и функции без каких-либо параметров.
Инструкции функции заключены в фигурные скобки. Это тело функции. После выполнения функции она вернет значение. Тип возвращаемого значения зависит от возвращаемого значения. Если функция возвращает целое число, тип возвращаемого значения - int. Если функция возвращает значение типа double, то тип возвращаемого значения - тип double и т. д.
См. приведенный ниже код с объявлением и определением функции.
Рисунок 01: Программа для вычисления суммы двух чисел
В соответствии с приведенной выше программой строка 3 отображает объявление. Он сообщает компилятору имя функции, параметры и т. д. В основной функции два значения берутся с клавиатуры и сохраняются в переменных «a» и «b». В строке 12 эти значения передаются функции sum. Эти «a» и «b» являются аргументами.
В строке 16 выполняется функция суммы. Он копирует значение a в num1 и значение b в num2. Эта функция возвращает сумму, и это значение сохраняется в переменной «ans» (строка 12). Наконец, ответ выводится на экран. Вкратце, в строке 3 показано объявление, а в строках с 16 по 18 - определение.
В чем разница между объявлением и определением в C?
Declaration - это прототип, который указывает имя функции и сигнатуру типа, такую как типы данных, возвращаемые типы и параметры, но опускает тело функции. Определение указывает имя функции и сигнатуры типов, такие как типы данных, возвращаемые типы и параметры, и включает в себя тело функции. Декларация сообщает компилятору имя функции и способ ее вызова. С другой стороны, определение содержит фактическую реализацию функции. Он описывает задачу функции.
Резюме - Декларация и определение в C
Разница между объявлением и определением в C заключается в том, что объявление в C сообщает компилятору об имени функции, типе возвращаемого значения и параметрах, в то время как определение в C содержит реальную реализацию функции.