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