Heim >Backend-Entwicklung >C++ >Wie behebe ich den Syntaxfehler „Ausdruck muss einen konstanten Wert haben' beim Deklarieren von Arrays in C?
Fehlerbehebung: Syntaxfehler bei der Array-Deklaration
Beim Versuch, ein Array aus deklarierten Variablen zu erstellen, kann der Fehler auftreten:
expression must have a constant value
Dieser Fehler tritt auf, weil Arrays in C für sie konstante Ausdrücke benötigen Größen.
Fehler beheben
Um diesen Fehler zu beheben, haben Sie zwei Möglichkeiten:
Dynamische Arrays ermöglichen eine variable Größenanpassung durch Zuweisung Speicher auf dem Heap. Sie müssen diesen Speicher jedoch manuell mit den Operatoren new und delete zuweisen und freigeben:
// Allocate the array int** arr = new int*[row]; for (int i = 0; i < row; i++) arr[i] = new int[col];
// Use the array // ... // Deallocate the array for (int i = 0; i < row; i++) delete[] arr[i]; delete[] arr;
Um ein Array mit fester Größe beizubehalten, müssen Sie die Dimensionen als deklarieren Konstante:
const int row = 8; const int col = 8; int arr[row][col];
Vorsichtsmaßnahmen
Die von Ihnen angegebene Syntax int [row][col]; ist falsch, da sie keinen Variablennamen für angibt Array.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Syntaxfehler „Ausdruck muss einen konstanten Wert haben' beim Deklarieren von Arrays in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!