C言語 入門 ~関数編~

スポンサーリンク
スポンサードリンク

関数の基本

「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,464 times, 1 visits today)
スポンサーリンク
スポンサードリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサードリンク