Heim > Backend-Entwicklung > C++ > Wie kann ich in C ein Array mit dynamischer Größe erstellen?

Wie kann ich in C ein Array mit dynamischer Größe erstellen?

Linda Hamilton
Freigeben: 2025-01-05 13:06:49
Original
132 Leute haben es durchsucht

How Can I Create a Dynamically Sized Array in C  ?

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};
Nach dem Login kopieren

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};
Nach dem Login kopieren

Alternative Ansätze

Wenn Sie wirklich ein Array mit dynamischer Größe benötigen, bietet C dies an mehrere Optionen:

  • Dynamische Speicherzuweisung:Manuelle Zuweisung mit Neu und löschen[].
int n = 10;
double* a = new double[n];
// ...
delete[] a;
Nach dem Login kopieren
  • Standardcontainer:Verwendung von Standardcontainern wie std::vector.
int n = 10;
std::vector<double> a(n);
Nach dem Login kopieren

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];
Nach dem Login kopieren

Oder Sie können einen constexpr in C 11 verwenden:

constexpr int n()
{
    return 10;
}

double a[n()];
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage