Введение в C (Си)

Теория: Функции в Си

Функции

В этом уроке напишем свою функцию и разберем, как ее вызывать из main().

Идея простая: сделаем функцию power(), которая возводит число в целую неотрицательную степень.

int power(int base, int n)
{
  int i, p;

  p = 1;
  for (i = 1; i <= n; ++i)
    p = p * base;

  return p;
}

Что здесь важно

  • Объявление int power(int base, int n) задает функцию с двумя параметрами.
  • Параметр base задает основание степени.
  • Параметр n задает показатель степени.
  • Инструкция return p; возвращает результат вычисления.

Чтобы main() могла вызвать функцию, удобно заранее объявить ее прототип:

int power(int base, int n);

Полная программа

#include <stdio.h>

int power(int base, int n);

int main(void)
{
  printf("%d\n", power(2, 10));
  return 0;
}

int power(int base, int n)
{
  int i;
  int p;

  p = 1;
  for (i = 1; i <= n; ++i)
    p = p * base;

  return p;
}

Ожидаемый вывод:

1024

Если заменить вызов на power(3, 12), получите 531441.

Итоги

  • Функция помогает вынести повторяемую логику в отдельный блок.
  • У функции есть параметры и возвращаемое значение.
  • Прототип сообщает компилятору сигнатуру функции до ее использования.
  • main() обычно завершается return 0;, если программа отработала без ошибок.