C++の関数の引数に配列を使用したサンプルです。
目次
説明用として3つのファイルがあります。(calc.h、calc.cpp、test1.cpp)
1.関数の定義を記述 (calc.hファイル)
関数の定義を記述しているファイルです
int calc1(int arr1[], int kazu);
int arr1[ ]は配列の引数で、kazuは配列の要素数です。
2.関数の内容を記述 (calc.cppファイル)
関数の内容を記述しているファイルです。
int calc1(int arr1[], int kazu)
{
int num1 = 0;
int i;
for (i = 0; i < kazu; i++) {
num1 += arr1[i];
}
return num1;
}
1行目は、引数のint arr1[ ]で配列を受け取り、kazuで配列の要素数を受け取ります。
6行目は、引数で取得した配列の要素数分(kazu)ループします。
7行目は、配列の添字を使用して値を足しています。
配列の添字とは、arr1[0]とある場合の0のことです。
3.関数を使用する (test1.cppファイル)
関数を使用するファイルです。
#include "calc.h"
#include <iostream>
using namespace std;
#define kazu 5
int main() {
int arr1[kazu] = { 1,2,3,4,5 }; //配列
int ans1 = calc1(arr1, kazu); //関数呼び出し
cout << "答えは" << ans1 << "です\n"; //答えは15です
return 0;
}
5行目は、マジックナンバーを避けるため#defineを使用して数値に名前をつけています。
→マジックナンバーとは作成者しか意味が分からない数値のことです。
8行目は、配列の宣言と値の代入をしています。
10行目は、配列のarr1と要素数のkazuを関数の引数にしています。
実行すると「答えは15です」と表示されます。
関連の記事