こんにちは、今回は関数の定義について解説したいと思います。
Paiza.io ブラウザで無料プログラミング
今回も、こちらの無料オンラインコンパイラーでやっていきます。
まず、関数とは何か説明しましょう。
一次関数・二次関数は聞いたことあるでしょうか?
xが決まればyが決まる。
y = x + 2などがそうです。
この場合、xに1を入れた場合、yは3になりますね?
プログラミングでいう関数も同じで、
xと同じように、(引数)というものを入れることによって
yという(戻り値)が分かる。
と考えてください。
まずは、書いてみましょう。
#include
int main(void){
}
void func(){
}
このような感じで書くことが出来ます。
解説すると、mainという、今までコードを書いてきたところから、
外側に、新しくvoid func(){}と書くことによって定義できます。
という事は、今まで書いてきたものは、
mainという関数の一部だったと言えるわけです。
では実際に、関数を使ってみましょう。
#include
int main(void){
int x = 0;
printf("%d",x);
printf("%d",func(x));
}
int func(int y){
y++;
return y;
}
main関数以外に、func関数という関数を作りました。
funcは、任意の名前で構いません。
まず、printf()で、xの値を表示しています。
printf("%d",func(x));
その下、printf()の中で、func関数の()の中に、引数として
xを入れています。
このfuncという関数の定義としては、インクリメント演算子により、一つ数が増えた
値が、returnとして、戻され、printf()で表示されています。
このように、
値をfuncに渡すための、引値
計算結果がmainに帰る、戻り値。
というものが、あります。
この二つの値で、変数のデータをやり取りするという事です。
理解できましたでしょうか?
#include
int main(void){
int x = 2;
int y = 3;
int z = func(x,y);
printf("%d",z);
}
int func(int a,int b){
return a+b;
}
これはどうでしょうか?
関数の引数が二つあります。
このように、引数をカンマで分け、二つ入れることが出来るのです。
int func(int a,int b){
この場合は、
mainのxはfunc内の変数aになり、yは変数bになったと言ます。
戻り値はint (整数)です。funcの左側に、何の形の戻り値かを定義します。
もちろん、int (整数)以外にも、char(文字)やstring(文字列)も引数や戻り値でやり取り出来ます。
また、簡単な計算は、returnの場所で、直接式を入れることもできます。
初めての人は、理解に苦しむと思いますが、
自分なりに、上記のプリグラムを実行して、少し変えて実行してみたりと
サンプルプログラムをいじることで、理解が深まると思います。
色々と、試してみてください。