![]() |
![]() |
8.9) Punteros y Arrays Multidimensionales.
|
Como un array unidimensional puede ser
representado en términos de punteros (el nombre del array) y de
un desplazamiento (el índice), es razonable esperar que los arrays
multidimensionales puedan ser representados con una notación equivalente
de punteros. En realidad, un array bidimensional es una colección
de arrays unidimensionales. Por tanto, podemos definir un array bidimensional,
como un puntero a un grupo contiguo de arrays unidimensionales. Una declaración
de un array bidimensional puede escribirse como sigue:
![]() |
![]() |
en lugar de lo que ya conocemos:
![]() |
![]() |
igualmente podemos generalizarlo para arrays multidimensionales:
![]() |
![]() |
que reeemplaza a:
![]() |
![]() |
En estas declaraciones aclararemos que:
Es IMPORTANTE que nos fijemos en los paréntesis que rodéan el nombre del array (ptvar en este caso), y el asterísco (*) que lo precede en la versión de puntero de cada declaración. Estos paréntesis deben estar presentes. Sin ellos estaremos definiendo un array de punteros (que serán vistos en el apartado siguiente 8.10) en vez de un puntero a un grupo de arrays, ya que estos símbolos particulares (los paréntesis cuadrados ([ ]) y el asterísco (*)) se evalúan de derecha a izquierda. El apartado siguiente 8.10 nos ayudará a comprender todo esto mejor.
tipo-dato es el tipo de datos del array. array es el nombre del array. expresión 1, expresión2,... son expresiones enteras positivas que indican el máximo número de elementos del array con cada índice.
Ejemplo: Posteriormente
se muestra como se introducen valores en un array bidimensional de punteros
con reserva de memoria previa de 3 filas y 3 columnas de elementos.