Разница между декларацией и определением в C

ключевое отличие между объявлением и определением в C является то, что Объявление в C говорит компилятору об имени функции, типе возвращаемого значения и параметрах, в то время как определение в C содержит фактическую реализацию функции.. То есть объявление предоставляет информацию о функции компилятору, тогда как определение содержит фактические операторы функции для выполнения конкретной задачи..

C - это язык структурированного программирования общего назначения. Он использует управляющие структуры, такие как if / else, повторения, такие как цикл, а цикл и функции. Функция - это набор операторов, который помогает выполнять определенную задачу снова и снова. Кроме того, можно вызывать функции из основной функции. После выполнения последнего оператора функции управление переходит обратно к основной функции. В этой статье обсуждаются объявление и определение функций в C и сравнивается разница между ними. Определение функции определяет, что делает функция, а объявление указывает, что идет в функцию; это прототип.

СОДЕРЖАНИЕ

1. Обзор и основные отличия
2. Что такое декларация в С
3. Что такое определение в C
4. Сравнение бок о бок - декларация против определения в C в табличной форме
5. Резюме

Что такое декларация в С?

Декларация предоставляет информацию о функции компилятору. Синтаксис для объявления выглядит следующим образом.

return_ type имя_функции (список параметров);

Предположим, что функция вычисляет сумму двух целых чисел. Декларация выглядит следующим образом.

int sum (int num1, int num2);

Имя функции - сумма, а параметры - это два целых числа: num1 и num2. Эта функция возвращает целое число. Завершенное утверждение заканчивается точкой с запятой.

Нет необходимости включать имена параметров в декларацию. Следовательно, также можно упомянуть только тип данных следующим образом. Ниже приведена действительная декларация.

int sum (int, int);

Что такое определение в C?

Определение содержит фактические операторы функции для выполнения конкретной задачи. Синтаксис выглядит следующим образом.

return_type имя_функции (список параметров)

// операторы функций

Имя функции помогает идентифицировать функцию. При вызове функции значения передаются этой функции. Эти значения копируются в параметры. Список параметров может содержать один параметр или количество параметров. И эти параметры имеют тип данных и имя. Кроме того, могут быть функции без какого-либо параметра.

Утверждения функции находятся внутри фигурных скобок. Это функциональное тело. После выполнения функции она вернет значение. Тип возвращаемого значения зависит от возвращаемого значения. Если функция возвращает целое число, тип возвращаемого значения - int. Если функция возвращает значение типа double, то тип возвращаемого значения - double и т. Д..

Приведенный ниже код с объявлением и определением функции.

Рисунок 01: Программа для вычисления суммирования двух чисел

В соответствии с вышеуказанной программой в строке 3 отображается объявление. Он сообщает компилятору об имени функции, параметрах и т. Д. В основной функции два значения берутся с клавиатуры и хранятся в переменных «a» и «b». В строке 12 эти значения передаются функции, называемой sum. Это «а» и «б» являются аргументами.

В строке 16 выполняется функция суммы. Он копирует значение a в num1 и значение b в num2. Эта функция возвращает суммирование, и это значение сохраняется в переменной «ans» (строка 12). Наконец, ответ печатается на экране. Вкратце, строка 3 показывает объявление, в то время как строки 16-18 отображают определение.

В чем разница между декларацией и определением в C?

Объявление - это прототип, который задает имя функции и сигнатуру типа, такую ​​как типы данных, возвращаемые типы и параметры, но опускает тело функции. Определение определяет имя функции и сигнатуры типов, такие как типы данных, возвращаемые типы и параметры, и включает тело функции. Декларация сообщает компилятору об имени функции и о том, как ее вызвать. С другой стороны, определение содержит фактическую реализацию функции. Он описывает задачу функции.

Резюме - Декларация против определения в C

Разница между объявлением и определением в C заключается в том, что объявление в C сообщает компилятору об имени функции, типе возвращаемого значения и параметрах, тогда как определение в C содержит фактическую реализацию функции..

Ссылка:

1. Учебное пособие. «Функции C». Учебное пособие, 19 марта 2018. Доступно здесь  
2. «Прототип функции». Википедия, Фонд Викимедиа, 28 мая 2018 года. Доступно здесь