プログラミングにおける関数の書き方と使い方【16回】

Php Programming Html Coding Cyberspace Concept

プログラミングにおける関数の書き方と使い方
ビジネスパーソンのためのプログラミング講座【第16回】


処理手順を考えていると、「処理a→処理b→処理c→処理d→処理a→処理b→処理c」といった具合に、
同じ処理の繰り返しになることがあります。

このままの流れでコーディングをすると動作としては問題ないでしょうがソースコードは長くなり、
効率が悪いだけでなく見づらくそして保守もしづらくなります。
このような場合、処理a→処理b→処理cは一つにまとめた方が望ましいと言えます。
こういう時には関数の出番です!
今回は関数の書き方と使い方をご紹介します。
なお、ご紹介にあたってはC言語を用いて文例を記載しています。



■関数とは何か
関数とは、あるまとまった処理を定義して、必要に応じて呼び出せるようにする機能です。
メソッドとも呼ばれます。
前述の処理a,b,cの例でいうと、処理a~c関数Xという形でひとまとめにして、
関数Xの呼び出し→処理d→関数Xの呼び出しという形にできます。

関数は自分で定義するものと、printfなどフレームワークで予め用意されている関数があります。
また、C言語のmainも関数です。
main関数OSから呼び出されているのです。



■関数の構造
関数には「引数」という値や参照を渡して、処理を依頼することができます。
そして「戻り値」といって結果の値を返すことができます。

また実際、プログラムの中で関数を使う際はmain()よりも先に関数を宣言します。
これを「プロトタイプ宣言」と呼んでいます。
そして、main()に続けて以下のように関数の本体を記述します。

#include
double fn(double x,double y);

int main(void)
{
double a,b,sum;
sum = fn(a,b);
return 0;
}
double fn(double x,double y)
{
double z;
z = x + y;
return z;
}

mainから関数waを呼び出し引数にa,bを渡してwaで和算をしてその結果を「戻り値」として返しています。
引数が不要な場合は省略して()だけでもかまいません。
または引数にvoidを描きます。

inc func(void)
{
処理
}

戻り値がない場合も省略してかまいません。
その際は関数の型にvoidを書きます。

void func()
{
処理
}

ちなみに、main関数もOSに対して戻り値を返しています。
上記のreturn 0は処理の正常終了を意味しています。



■関数の使い方
それでは具体的なプログラムの記述を見てみましょう。

#include
double sa(double x,double y);
int main(void)
{
double a,b,answer;
a = 10.01
b = 21.21
answer = sa(a,b);

retrun 0;
}
double sa(double x,double y)
{
double z;
z = x+y;
return z;
}

この結果として「31.22」が出力されます。
自分で定義した関数を使う際は宣言を忘れずに行いましょう。


■まとめ
いかがでしたでしょうか?
関数を使いこなせるとプログラミングは一気に楽しくなります。
main()は出来るだけシンプルにして関数で処理を呼び出すようにすると
一連の流れが分かりやすいプログラムになると思います。


次回ビジネスパーソンのためのプログラミング講座【第17回】ではLinuxでできることとは?Linuxの初心者が抑えたい基礎知識についてご紹介していきたいとおもいます。
>プログラミング豆知識 記事一覧へ


投稿日: 2016年11月17日

前後の記事

気になることは何でもお気軽にお問合せください。

0120-188-024 受付時間 平日9:00~19:00