Guía de seguimiento dinámico de Solaris

Matrices multidimensionales

Las matrices escalares multidimensionales no se suelen utilizar en D, pero se proporcionan a efectos de compatibilidad con ANSI-C y para observar y acceder a las estructuras de datos del sistema operativo creadas utilizando esta capacidad en C. Una matriz multidimensional se declara como una serie consecutiva de tamaños de matrices escalares entre corchetes [ ] siguiendo el tipo base. Por ejemplo, para declarar una matriz rectangular bidimensional de tamaño fijo de enteros de dimensiones de 12 filas por 34 columnas, debería escribir la declaración:

int a[12][34];

A una matriz escalar multidimensional se accede utilizando una notación similar. Por ejemplo, para acceder al valor almacenado en la fila 0 de la columna 1 debería escribir la expresión en D:

a[0][1]

Las ubicaciones de valores de matrices escalares multidimensionales se calculan multiplicando el número de fila por el número total de columnas declaradas y, a continuación, agregando el número de columna.

Deberá tener cuidado para no confundir la sintaxis de matrices multidimensionales con la sintaxis en D de accesos a matrices asociativas (es decir, a[0][1] no es igual que a[0, 1]). Si utiliza una tupla incompatible con una matriz asociativa o intenta el acceso a una matriz asociativa de una matriz escalar, el compilador en D emitirá un mensaje de error adecuado y rechazará compilar el programa.