C の可変サイズ配列
C では、可変長の配列の初期化は許可されません。ただし、 G などの特定の実装では、この方法は拡張機能として許可されています。
int n = 10; double tenorData[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
「tenorData」は初期化できない可変サイズのオブジェクトであるため、このコードはエラーになります。この問題を解決するには、配列サイズを数値リテラルとして指定できます。
double tenorData[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
代替アプローチ
動的にサイズ変更された配列が本当に必要な場合は、C が提供します。いくつかのオプション:
int n = 10; double* a = new double[n]; // ... delete[] a;
int n = 10; std::vector<double> a(n);
固定サイズ配列
可変サイズの配列が必要ない場合は、定数を使用して固定サイズの配列を作成できます。
const int n = 10; double a[n];
または、C の constexpr を使用できます。 11:
constexpr int n() { return 10; } double a[n()];
以上がC で動的にサイズ変更された配列を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。