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中文網其他相關文章!