À retenir
- La taille n'est pas figée à la compilation.
- Permet une grande flexibilité dans le passage de paramètres.
- Évite le gaspillage de mémoire en ne réservant pas d'espace inutile.
Un tableau ouvert est une structure de données qui permet de stocker une série d'éléments sans en définir le nombre exact au moment de sa création. On peut l'imaginer comme une file d'attente dont on ne connaît pas la longueur à l'avance, permettant d'ajouter ou de traiter autant de données que nécessaire.
Étymologie
Le terme provient de la fusion de « tableau » (représentation ordonnée de données) et « ouvert », qui indique ici l'absence de fermeture ou de limite de taille stricte dans la déclaration initiale. C'est une expression particulièrement utilisée dans certains langages de programmation historiques comme Pascal ou Ada.
Exemples d'usage
- Une fonction de calcul de moyenne qui accepte une liste de notes, qu'il y en ait 5 ou 500.
- Le passage d'une liste de noms d'utilisateurs à une procédure sans savoir combien d'utilisateurs sont connectés à ce moment-là.
Cas d'usage
Ce concept intervient principalement lors de la définition de fonctions ou de procédures génériques. Il permet à une seule portion de code de manipuler des ensembles de données de tailles différentes, ce qui évite de devoir créer une fonction spécifique pour chaque longueur de tableau possible.
Bonnes pratiques
Il est impératif de toujours vérifier la taille réelle du tableau à l'intérieur de la fonction (souvent via une fonction intégrée comme length ou high) avant d'accéder aux éléments, afin d'éviter les erreurs de dépassement de mémoire (crash du programme).
Synonymes
Antonymes
Conseil
Si vous débutez et que vous travaillez avec des langages comme Pascal ou Delphi, retenez que le tableau ouvert est votre meilleur allié pour créer des fonctions polyvalentes. Dans les langages plus récents, on parlera plus volontiers de collections, de listes ou de vecteurs.
Questions fréquentes
Quelle est la différence avec un tableau dynamique ?
Bien que proches, le terme 'tableau ouvert' désigne souvent la capacité d'un paramètre de fonction à accepter des tableaux de n'importe quelle taille, tandis que le 'tableau dynamique' désigne un tableau dont on peut modifier la taille pendant l'exécution du programme.
Est-ce que tous les langages utilisent ce terme ?
Non, c'est un terme assez spécifique à certains langages typés. Dans des langages modernes comme Python ou JavaScript, cette distinction est moins marquée car les listes sont naturellement flexibles.