Pour éviter que le tableau ne dépasse les limites, vous pouvez effectuer une vérification de plage ou de limites ou utiliser une valeur sentinelle avant d'accéder à un élément. Les contrôles de plage vérifient que l'index se trouve dans une plage valide, les contrôles de limites vérifient simplement que l'index est inférieur à la taille du tableau et les sentinelles ajoutent un élément « sentinelle » supplémentaire aux limites du tableau.
Comment éviter les limites d'un tableau
Les limites d'un tableau font référence à l'accès à un élément au-delà de la plage valide du tableau. Cela peut conduire à un comportement indéfini, notamment des plantages du programme ou des résultats incorrects. Voici quelques techniques pour éviter que le tableau ne dépasse les limites :
1. Range Check
Avant d'accéder à un élément du tableau, vérifiez si l'index se trouve dans la plage valide. Par exemple, le code C++ suivant vérifie si l'index est supérieur ou égal à 0 et inférieur à la taille du tableau :
int array[] = {1, 2, 3}; int index = 2; if (index >= 0 && index < sizeof(array) / sizeof(array[0])) { // 安全地访问元素 } else { // 处理越界情况 }
2 Vérification des limites
vérifie simplement si l'index est inférieur à la taille du tableau. Par exemple :
int[] array = {1, 2, 3}; int index = 2; if (index < array.length) { // 安全地访问元素 } else { // 处理越界情况 }
3. Initialisez un tableau avec un index
des limites d'un élément plus grand que celui réellement requis, en lui donnant une valeur "sentinelle". Par exemple :
array = [0] * (size + 1)
Ensuite, placez la valeur sentinelle dans le dernier élément et vérifiez son index avant d'accéder à l'élément :
if index < size: # 安全地访问元素 else: # 处理越界情况
Exemple pratique :
Considérons un besoin de lire un tableau composé de nombres saisis par le programme utilisateur de. Pour éviter de franchir la ligne, vous pouvez utiliser le code C# suivant :
Console.WriteLine("Enter the size of the array:"); int size = int.Parse(Console.ReadLine()); int[] array = new int[size]; for (int i = 0; i < array.Length; i++) { Console.WriteLine($"Enter the value for index {i}:"); array[i] = int.Parse(Console.ReadLine()); } Console.WriteLine("The values in the array:"); for (int i = 0; i < array.Length; i++) { Console.WriteLine($"{i}: {array[i]}"); }
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!