Array variabler Größe in C
Das Initialisieren eines Arrays mit variabler Länge ist in C nicht zulässig. In bestimmten Implementierungen wie G ist diese Vorgehensweise jedoch als Erweiterung zulässig.
int n = 10; double tenorData[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Dieser Code führt zu einem Fehler, da „tenorData“ ein Objekt variabler Größe ist, das nicht initialisiert werden kann. Um dieses Problem zu lösen, können Sie die Array-Größe als numerisches Literal angeben:
double tenorData[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Alternative Ansätze
Wenn Sie wirklich ein Array mit dynamischer Größe benötigen, bietet C dies an mehrere Optionen:
int n = 10; double* a = new double[n]; // ... delete[] a;
int n = 10; std::vector<double> a(n);
Arrays mit konstanter Größe
Wenn kein Array mit variabler Größe erforderlich ist, können Sie es erstellen ein Array fester Größe mit einer Konstante:
const int n = 10; double a[n];
Oder Sie können einen constexpr in C 11 verwenden:
constexpr int n() { return 10; } double a[n()];
Das obige ist der detaillierte Inhalt vonWie kann ich in C ein Array mit dynamischer Größe erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!