Разница между объявлением и определением в C

Оглавление:

Разница между объявлением и определением в C
Разница между объявлением и определением в C

Видео: Разница между объявлением и определением в C

Видео: Разница между объявлением и определением в C
Видео: Уроки С++ / Урок #64 / Функции С++. Объявление, определение и запуск. 2024, Ноябрь
Anonim

Ключевое различие между объявлением и определением в 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 и т. д.

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

Разница между объявлением и определением в C
Разница между объявлением и определением в C

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

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

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

В чем разница между объявлением и определением в C?

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

Разница между объявлением и определением в C в табличной форме
Разница между объявлением и определением в C в табличной форме

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

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

Рекомендуемые: