スポンサードリンク
HOME > C言語 > 関数

C言語 - 関数

今回は、関数について説明していきます。

プログラム解説

#include <stdio.h>

void main(void) {
   int a;

   printf("数値を入力して下さい\n");
   scanf("%d", &a);
   printf("あなたが入力した数値は%dです\n", a);

}


関数と言うとなんだか難しそうに思えるかもしれませんが、そうでもありません。

何かをしてくれる部品と考えましょう。

実は上記プログラムにも関数が使われています。

printf関数は画面に何かを表示してくれる部品です。
scanf関数はキーボードからの入力を受け付けてくれる部品です。

そして、mainも関数です。この関数はこの場合、
キーボードから入力された数値を表示する部品です。

と言う感じになります。どうでしょう?なんとなく理解できたでしょうか?

C言語はその関数の集まりでできています。

また、自分でも関数を作る事ができます。

実際に作ってみましょう。

プログラム作成

三角形の面積を求めるプログラムを作る事にします。

次のコードを入力し、翻訳、実行します。

#include <stdio.h>

int menseki(int teihen, int takasa);

void main(void) {
   int a, b, c;

   printf("三角形の底辺を入力してください\n");
   scanf("%d", &a);

   printf("三角形の高さを入力してください\n");
   scanf("%d", &b);

   /* 面積を求める */
   c = menseki(a, b);

   /* 面積表示 */
   printf("底辺%d、高さ%dの三角形の面積は%dです\n", a, b, c);

}


/* 三角形の面積を求める関数 */
int menseki(int teihen, int takasa) {
   int ans;

   ans = teihen * takasa / 2;

   return ans;
}





入力する時は、入力してEnterを押してください。
成功すると上記のように表示されます。

プログラム解説


#include <stdio.h>

int menseki(int teihen, int takasa);


void main(void) {
   int a, b, c;

   printf("三角形の底辺を入力してください\n");
   scanf("%d", &a);

   printf("三角形の高さを入力してください\n");
   scanf("%d", &b);

   /* 面積を求める */
   c = menseki(a, b);


   /* 面積表示 */
   printf("底辺%d、高さ%dの三角形の面積は%dです\n", a, b, c);

}


/* 三角形の面積を求める関数 */
int menseki(int teihen, int takasa) {
   int ans;

   ans = teihen * takasa / 2;

   return ans;
}



まずですが、変数と同じように、関数は
あらかじめ、宣言しておかなくてはなりません。(プロトタイプ宣言と言います。)
ここでは、関数の中身を書く必要はありません。
関数の中身はで記述しています。

関数のプロトタイプ宣言は、次のような書式で書きます。

変数型 戻り値(変数型 引数名1,変数型 引数名2・・・);

それぞれ、戻り値(もどりち)、引数(ひきすう)と読みます。
また、引数は順番に第1引数第2引数・・・と呼びます。

次にmenseki関数を呼び出しています。ここでプログラムがに飛びます。
この時、int teihen部分には変数aの値が、
int takasa部分には変数bの値代入されます。(重要なポイントです)
そして、menseki関数内の処理が行われていきます。

returnという記述は、関数を終了すると言う意味と同時に
戻り値を返すと言う意味もあります。
この場合、変数ansの値を返し、main関数内の変数cに代入される事になります。
その後、再び、の続きからプログラムが動き出す流れになります。

menseki関数のイメージとしては、
「底辺と高さを言うから(引数)面積を計算して教えてくれ(戻り値)」
と言う感じになります。

用語

menseki関数のint teihenint takasaという引数は
何の値が代入されるか分からないので、仮引数と呼ばれ、
実際にmenseki関数の呼び出し時に指定する引数の事を実引数と呼びます。
このプログラム例の場合の実引数はabと言う事になります。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved