スポンサーリンク
コンテンツ
関数の基本
「C言語 入門 ~C言語の基本編~」でも登場しましたが、関数の規則は次のようになります。
C言語の関数の規則
戻り値 関数名 ( 変数1, 変数2,・・ )
{
/* C言語の処理 */
return 戻り値;
}
main関数はこの規則にしたがって作られていると説明しました。main以外の関数を作る例をサンプルを用いて説明します。
Lesson6-1のサンプルプログラム問題<Lesson6_1.c>
【Lesson6-1 問題】
functionA.hのファイルを作り、
関数functionAを定義します。
functionA.cのファイルを作り、
以下の仕様を満たす関数functionAを作ってください。
“functionAの仕様”
パラメータに数字paramを渡すと、
戻り値として、数字paramの2倍の値を返す関数。
次に、関数functionAに
パラメータ”param1 = 4″、
パラメータ”param2 = 10″、
それぞれを渡したときの戻り値がどうなるか
出力してください。
<Lesson6_1.c>,<functionA.h>,<functionA.c> サンプルソース
/* functionAの関数を定義するヘッダファイルです。 */
int functionA(int param);
/* functionA.c */
/* functionAの関数を定義するソースファイルです。 */
/* functionAの関数を定義している
ヘッダファイルをインクルードします。 */
#include "functionA.h"
#include <stdio.h>
/*
"functionAの仕様"
パラメータに数字paramを渡すと、
戻り値として、数字paramの2倍の値を返す関数。
*/
int functionA(int param)
{
/* int型のnumberという変数を定義します。
初期値に"0"を代入します。 */
int number = 0;
/* パラメータで渡される数字paramを2倍し、
numberに代入します。*/
number = param * 2;
/* 関数"functionA"の戻り値に、numberを渡します。 */
return number;
}
#include <stdio.h>
/*
functionAをmain関数で使うので、
functionA関数を定義している
ヘッダファイル"functionA.h"を
インクルードします。
*/
#include "functionA.h"
void main(void)
{
/* int型のparam1という変数を定義します。
初期値に"4"を代入します。 */
int param1 = 4;
/* param1の出力結果を格納する
retParam1という変数を定義します。
初期値に"0"を代入します。 */
int retParam1 = 0;
/* int型のparam2という変数を定義します。
初期値に"10"を代入します。*/
int param2 = 10;
/* param2の出力結果を格納する
retParam2という変数を定義します。
初期値に"0"を代入します。 */
int retParam2 = 0;
/* functionAの関数を使って、
param1とparam2の値を2倍にした
出力結果をretParam1とretParam2に格納します。 */
retParam1 = functionA( param1 );
retParam2 = functionA( param2 );
/* retParam1とretParam2の出力結果を確認します。 */
printf("param1の戻り値は %d です。\n", retParam1);
printf("param2の戻り値は %d です。\n", retParam2);
return;
}
Lesson6-1のサンプルプログラム問題<Lesson6_1.c>の実行結果
PS C:\Cprogram> gcc lesson6_1.c functionA.c -o lesson6_1.exe
PS C:\Cprogram> .\Lesson6_1.exe
param1の戻り値は 8 です。
param2の戻り値は 20 です。
関数を使って、パラメータを渡すサンプルプログラムを確認しました。
(Visited 1,482 times, 1 visits today)