Maison > développement back-end > C++ > Comment corriger une erreur de syntaxe « l'expression doit avoir une valeur constante » lors de la déclaration de tableaux en C ?

Comment corriger une erreur de syntaxe « l'expression doit avoir une valeur constante » lors de la déclaration de tableaux en C ?

Linda Hamilton
Libérer: 2024-12-10 06:40:21
original
852 Les gens l'ont consulté

How Do I Fix a

Dépannage : erreur de syntaxe dans la déclaration du tableau

Lorsque vous essayez de créer un tableau à partir de variables déclarées, vous pouvez rencontrer l'erreur :

expression must have a constant value
Copier après la connexion

Cette erreur survient parce que les tableaux en C nécessitent des expressions constantes pour leur tailles.

Résolution de l'erreur

Pour résoudre cette erreur, vous avez deux options :

  1. Créer un tableau dynamique sur le tas :

Les tableaux dynamiques permettent un dimensionnement variable en allouant mémoire sur le tas. Cependant, vous devez allouer et libérer manuellement cette mémoire à l'aide des opérateurs new et delete :

// Allocate the array
int** arr = new int*[row];
for (int i = 0; i < row; i++)
    arr[i] = new int[col];
Copier après la connexion
// Use the array
// ...

// Deallocate the array
for (int i = 0; i < row; i++)
    delete[] arr[i];
delete[] arr;
Copier après la connexion
  1. Déclarer la taille du tableau comme constante :

Pour conserver un tableau de taille fixe, vous devez déclarer les dimensions comme constant :

const int row = 8;
const int col = 8;
int arr[row][col];
Copier après la connexion

Attentions

La syntaxe que vous avez fournie, int [row][col];, est incorrecte car elle ne spécifie pas de nom de variable pour le tableau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal