Manuel de suivi dynamique Solaris

Ensembles multidimensionnels

Les ensembles scalaires multidimensionnels ne sont pas utilisés fréquemment dans D, mais sont proposés pour une compatibilité avec ANSI-C et pour observer et accéder à des structures de données système créées à l'aide de cette fonctionnalité dans C. Un ensemble multidimensionnel est déclaré comme une série consécutive de tailles d'ensembles scalaires comprise entre crochets [ ] et suivie du type de base. Par exemple, pour déclarer un ensemble rectangulaire à deux dimensions de taille fixe dont les dimensions sont de 12 lignes par 34 colonnes, rédigez la déclaration suivante :

int a[12][34];

Un ensemble scalaire multidimensionnel est accessible via une notation similaire. Par exemple, pour accéder à la valeur stockée à la ligne 0, colonne 1, rédigez l'expression D suivante :

a[0][1]

Les emplacements de stockage des valeurs d'ensemble scalaire multidimensionnel sont calculés en multipliant le nombre de lignes par le nombre total de colonnes déclarées, puis en ajoutant le nombre de colonnes.

Veillez à ne pas confondre la syntaxe d'ensemble multidimensionnel avec la syntaxe D d'accès d'ensemble associatif (à savoir que a[0][1] est différent de a[0, 1]). Si vous utilisez un tuple incompatible avec un ensemble associatif ou si vous tentez un accès d'ensemble associatif d'un ensemble scalaire, le compilateur D renverra un message d'erreur et ne compilera pas votre programme.