Skip to content

7. 関数

7.1 関数とは

数学における「関数」とは、等のように表してある値(この例では)によって値が決まるものであった。

プログラミングにおいてはこれと少し似ているが、ある値を与えた時に、決められた処理をして、ある値を返すものを関数と呼ぶ。ここで、関数に値を与える必要はないし、また値を返さなくても良いという事に注意すること。

C++言語において、関数は以下のように記述する。

cpp
#include <iostream>
using namespace std;

int hello() {
    cout << "Hello, traP!" << endl;
    return 0;
}

int main() {
    hello();
}
cpp
#include <iostream>
using namespace std;

[型] [関数名]() {
    [文]
    return [返り値];
}

int main() {
    [関数名](); //実行する方
}
Output
Hello, traP!

フローチャートにすると以下のようになる。


関数は何回でも実行できる。

cpp
#include <iostream>
using namespace std;

int hello() {
    cout << "Hello, traP!" << endl;
    return 0;
}

int main() {
    hello();
    hello();
    hello();
}
Output
Hello, traP!
Hello, traP!
Hello, traP!

ここではHello, traP!と出力するHello関数を定義している。 関数を実装するとき、関数の末尾に必ずreturn 0;と記述する(これについては7.3で扱う)。

複数回呼び出すと、複数回実行されている事がわかる。複雑な処理を何回も実行するとき、よく関数を使う。

また、mainも関数の1つである。C++言語においては、コンピューターはこのmain関数を最初に実行すると考えると良い。

異なる関数の間では、変数は共有されない。

cpp
#include <iostream>
using namespace std;

int printn() {
    int n = 200;
    n *= 2;
    cout << n << endl;
    return 0;
}

int main() {
    int n = 100;
    printn();
    cout << n << endl;
}
Output
400
100

フローチャートでいえば、変数はこの黄色い囲みの中だけで共有されていると考えると良いだろう。