Прототипы функций
Часть раздела Fundamentals путешествия по C на Coddy — урок 51 из 63.
В языке C мы можем объявить функцию перед её использованием. Прототип функции сообщает компилятору имя функции, её параметры и тип возвращаемого значения до того, как сама функция будет определена.
Создайте прототип функции для функции, которая складывает два целых числа:
int add(int a, int b);Затем определите функцию:
int add(int a, int b) {
return a + b;
}Прототип обычно располагается выше main, в то время как сама функция — ниже main, чтобы код выглядел чище.
Теперь вы можете использовать эту функцию в main:
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}Без прототипа, если вы вызовете функцию до её определения, вы получите ошибку компиляции.
Задание
ЛегкоСоздайте программу, которая:
- Объявляет прототип функции с именем
calculateArea, которая принимает два целых числа (length и width) и возвращает целое число. - Реализует функцию для вычисления и возврата площади (length × width).
- В функции main получает два целых числа от пользователя, вызывает
calculateAreaи выводит результат.
Шпаргалка
Прототип функции объявляет функцию до её определения, сообщая компилятору имя функции, параметры и тип возвращаемого значения:
int add(int a, int b);Затем определите функцию:
int add(int a, int b) {
return a + b;
}Прототип обычно размещается выше main, в то время как определение функции идет ниже main:
int add(int a, int b); // прототип
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}
int add(int a, int b) { // определение
return a + b;
}Без прототипа вызов функции до её определения приведет к ошибке компиляции.
Попробуйте сами
#include <stdio.h>
// Напишите прототип вашей функции здесь
int main() {
// Объявите и считайте переменные
// Вызовите вашу функцию и выведите результат здесь
return 0;
}
// Реализуйте вашу функцию здесьВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
2Переменные
Типы данныхЦелые числаFloat и DoubleСимволыЛогический типКонстантыОсновы printfПравила именования переменныхПриведение типов. Часть 1Приведение типов. Часть 2Итоговое задание3Операторы
Арифметические операторыОператор остатка от деленияИнкремент и декрементОператоры присваиванияОператоры сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Логические операторы. Часть 3Задание на повторение