この記事では、C言語で配列を関数に渡す方法について解説します。
目次から探す
配列を関数に渡す方法
C言語では、関数に配列を渡す方法はいくつかあります。
ここでは、以下の3つの方法を紹介します。
方法1:ポインタを使う
配列を関数に渡す一般的な方法は、ポインタを使うことです。
配列は、その最初の要素へのポインタとして扱うことができます。
関数に渡す際には、配列の先頭要素へのポインタを引数として渡します。
void printArray(int* arr, int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printArray(arr, size);
return 0;
}
上記の例では、printArray
という関数を定義し、arr
という名前のポインタと、size
という名前の整数を引数として受け取っています。
printArray関数
内では、渡された配列の要素を順番に表示しています。
方法2:配列のサイズを指定する
配列のサイズを関数に渡す方法もあります。
この場合、配列の要素数を別途引数として関数に渡します。
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printArray(arr, size);
return 0;
}
上記の例では、printArray関数
の引数として、arr
という名前の配列と、size
という名前の整数を受け取っています。
printArray関数
内では、渡された配列の要素を順番に表示しています。
方法3:配列の要素をコピーする
配列を関数に渡す別の方法として、配列の要素をコピーする方法があります。
この場合、関数には配列の要素を受け取るための引数を指定し、呼び出し元で配列の要素をコピーして渡します。
void printArray(int a, int b, int c, int d, int e) {
printf("%d %d %d %d %d\n", a, b, c, d, e);
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
printArray(arr[0], arr[1], arr[2], arr[3], arr[4]);
return 0;
}
上記の例では、printArray関数
の引数として、a
からe
までの名前の整数を受け取っています。
main関数
内では、配列の要素を個別に指定してprintArray関数
を呼び出しています。
これらの方法を使うことで、配列を関数に渡すことができます。
適切な方法を選択し、プログラムの要件に応じて使い分けましょう。