Heim >Backend-Entwicklung >C++ >Wie behebe ich den Syntaxfehler „Ausdruck muss einen konstanten Wert haben' beim Deklarieren von Arrays in C?

Wie behebe ich den Syntaxfehler „Ausdruck muss einen konstanten Wert haben' beim Deklarieren von Arrays in C?

Linda Hamilton
Linda HamiltonOriginal
2024-12-10 06:40:21821Durchsuche

How Do I Fix a

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:

  1. Erstellen Sie ein dynamisches Array auf der Heap:

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;
  1. Array-Größe als Konstante deklarieren:

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!

Stellungnahme:
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