C++の関数の引数にポインタ変数を使用したサンプルです。
目次
以降は、説明用として3つのファイルがあります。(keisan.h、keisan.cpp、test1.cpp)
1.関数の定義を記述 (keisan.hファイル)
関数の定義を記述しているファイルです。
引数の*kotae1は先頭にアスタリスクがついています。
アスタリスクはポインタ変数のアドレスに格納されている値を指します。
bool keisan(int number[], int kazu, int *kotae1);
2.関数の内容を記述 (keisan.cppファイル)
関数の内容を記述しているファイルです。
1行目の引数の*kotae1は先頭にアスタリスクがついています。
アスタリスクはポインタ変数のアドレスに格納されている値を指します。
13行目は、データの値を格納しています。
bool keisan(int number[], int kazu, int *kotae1)
{
int answer1;
int i;
answer1 = 0;
for (i = 0; i<kazu; i++) {
answer1 += number[i];
}
// ポインタ変数 データの値を格納
*kotae1 = answer1;
return true;
}
3.関数を使用する (test1.cppファイル)
関数を使用するファイルです。
14行目の関数(keisan)の引数の&kotae1はポインタ変数です。アンパサンド(&)がついています。変数のアドレスを指します。
16,18行目は、関数(keisan)の処理結果としてkotae1を表示しています。
#include "keisan.h"
#include <iostream>
using namespace std;
#define kazu 5
int main() {
int number[kazu] = { 1,2,3,4,5 };
int kotae1;
kotae1 = 0;
// ポインタ変数
keisan(number, kazu, &kotae1);
cout << "アンパサンド1の値は " << &kotae1 << "です\n";
cout << "全て足した値は " << kotae1 << "です\n";
return 0;
}
実行結果
アドレスの値はプログラムの実行ごとに異なります。

関連の記事
C++の関数のサンプル
C++ 関数の引数に配列を使用したサンプル
C++ クラスのサンプル