Maison >développement back-end >C++ >Pourquoi C nécessite-t-il des tailles de tableau constantes : « L'expression doit avoir une valeur constante » ?
La taille du tableau doit être constante : "L'expression doit avoir une valeur constante"
Lors de l'initialisation des tableaux en C, la taille du tableau doit être connue au moment de la compilation. Cela signifie que les valeurs des dimensions de ligne et de colonne du tableau doivent être des expressions constantes.
Considérons l'exemple suivant :
int row = 8; int col = 8; int [row][col]; // error: expression must have a constant value
Dans ce code, le tableau est déclaré sans spécifier de nom de la variable. De plus, les variables row et col ne sont pas des constantes, le compilateur ne peut donc pas déterminer la taille du tableau au moment de la compilation. Cela entraîne l'erreur "L'expression doit avoir une valeur constante".
Tableau alloué dynamiquement
Pour créer un tableau de taille dynamique, la mémoire doit être allouée sur le tas à l'aide nouvel opérateur. La mémoire allouée doit être libérée à l'aide de la suppression pour éviter les fuites de mémoire.
// 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;
Tableau de taille fixe
Pour les tableaux de taille fixe, les dimensions de ligne et de colonne doivent être déclaré comme const :
const int row = 8; const int col = 8; int arr[row][col];
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!