#include "iostream"
using namespace std;
//ここから
int plus(int a,int b){
//関数内でする処理を書く。
return a+b;//他のプログラムに返す値を書く。
//plus(6,3)が呼ばれると、自動的にa=6、b=3と代入されて、変数として使えるようになる。
}
int tmp(){
return 2*3;//2*3==6なので、6が返り値になる。
}
//ここまでに関数を書いておく
int main(){
int six = tmp();//tmp()の返り値は6なので、sixには6が入る。
cout << plus(six,3) << endl;//関数であるplusにa=6(変数sixの値),b=3が引き渡されて実行される。出力結果は9。
}
int main(){}の前に関数と呼ばれるものを定義しておくとプログラム内でそれを使う事ができます。
関数にはどんなデータを返すかを定義でき、それを数字や文字列として利用する事も出来ます。このデータの事を返り値といいます。
関数の書き方は下の通りです。
(返り値の変数の型) (関数の名前)(入力としてほしい内容){
return (返り値として返す値);
}
returnの後に書いたものが返り値となります。
また、関数を呼び出すときに()内に渡したい情報を書くと、関数内でその値を利用する事ができます。
情報を渡すと定義しておいたものしか使えないことに注意してください。たとえば、下のように書くことはできません。
#include "iostream"
using namespace std;
int calculate(){
return a+b;//この関数内で変数aとbは作られておらず、情報が渡されていないので、エラーになる
}
int main(){
int a = 1,b = 2;
cout << calculate() << endl;//エラーが出る
}
#include "iostream"
using namespace std;
int calculate_sum(int n){
//1~nまでの和を求める
if(n == 1) return 1;
return n + calculate_sum(n-1);
}
int main(){
cout << calculate_sum(10) << endl;//calculate_sum(10)を呼び出すと、関数自身で自分(calculate_sum(9))を呼び出して…とループする。 出力結果は55
}
関数内で自分自身を呼び出すこともできます。