C++ 関数の引数がポインタ変数のサンプル

C++の関数の引数にポインタ変数を使用したサンプルです。

目次

サンプル 関数の定義を記述 (calc.hファイル)
関数の内容を記述 (calc.cppファイル)
  関数を使用する (test1.cppファイル)

説明用として3つのファイルがあります。(calc.h、calc.cpp、test1.cpp)

 

1.関数の定義を記述 (calc.hファイル)

関数の定義を記述しているファイルです。

bool calc(int arr[], int num, int* answer);

引数のanswerはポインタ変数です。先頭にアスタリスク(*)がついています。

 

2.関数の内容を記述 (calc.cppファイル)

関数の内容を記述しているファイルです。

bool calc(int arr[], int num, int * answer)
{
	int sum = 0;
	int i;

	for (i = 0; i < num; i++) {
		sum += arr[i];
	}
	// ポインタ変数にデータの値を格納
	*answer = sum;
}

1行目の引数の*answerはポインタ変数です。先頭にアスタリスク(*)がついています。
10行目は、ポインタ変数にデータの値を格納を格納しています。

 

3.関数を使用する (test1.cppファイル)

関数を使用するファイルです。

#include "calc.h"
#include <iostream>
using namespace std;

#define num 5

int main() {
	int arr[num] = { 1,2,3,4,5 }; //配列
	int answer = 0;

	calc(arr, num, &answer);   //関数呼び出し
	cout << "address : " << &answer << "\n";
	cout << "sum : " << answer << "\n";

	return 0;
}

11行目の関数呼び出しの引数の&answerはポインタ変数です。アンパサンド(&)がついています。変数のアドレスを指します。
12行目は、アドレスが表示されます。
13行目は、関数の処理結果として値を表示します。

実行結果

以下のようにアドレスと処理結果の値が表示されます。

関連の記事

C++ 関数のサンプル
C++ 関数の引数に配列を使用したサンプル

△上に戻る