可変長配列の定義および C 言語での使い方
C言語では,実行時に長さを決定できる可変長配列(VLA)を使用して配列を定義できます。
可変長の配列を定義する記法は次のようになります。
type array_name[length];
型のうち、type は配列の要素の型、array_name は配列の名前、length は配列の長さで、変数または式にすることもできます。
可変長配列の例を以下に記載します。
#include <stdio.h>
int main() {
int n;
printf("Enter the size of the array: ");
scanf("%d", &n);
int arr[n];
printf("Enter %d elements:\n", n);
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("The elements in the array are: ");
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
上記の例ではまず、ユーザーに配列のサイズ(n)を入力してもらい、次に可変長の配列arrを長さnとして定義します。その後、n個の要素をユーザーから1つずつ入力して、配列内の要素を出力します。
可変長配列は、長さが実行時に決定され、コンパイル時には決定されないことに注意してください。そのため、可変長配列は静的な初期化をサポートせず、配列要素の入力を1つずつ割り当てるか、ループなどの方法によってのみ行うことができます。