Cómo declarar una matriz multidimensional inicializado en la programación c

En la programación C, el oscuro secreto de matrices multidimensionales es que no existen realmente. Internamente, el compilador todavía ve las cosas como las dimensiones individuales - sólo una larga serie completa de elementos. La notación doble (o triple) soporte se utiliza para calcular el correcto desplazamiento de la matriz en tiempo de compilación. Eso está bien porque el compilador hace el trabajo.

Video: 36. Programación en C++ || Matrices || Rellenando una matriz

Se puede ver cómo se traducen en matrices multidimensionales viejos aburridos matrices regulares cuando se declaran que ya está iniciado. Por ejemplo:

int rejilla [3] [4] = {5, 4, 4, 5,4, 4, 5, 4,4, 5, 4, 5} -

La matriz de rejilla consta de tres filas de cuatro elementos cada una. Como se acaba de mostrar, está declarada como una cuadrícula y se ve como una cuadrícula. Tal declaración funciona, siempre y cuando el último elemento no tiene una coma después de ella. De hecho, se puede escribir todo el asunto de esta manera:

int rejilla [3] [4] = {5, 4, 4, 5, 4, 4, 5, 4, 4, 5, 4, 5} -

Esta declaración todavía define una matriz multidimensional, pero se puede ver cómo es en realidad una matriz de una sola dimensión con índices duales. De hecho, el compilador es lo suficientemente inteligente como para saber las dimensiones, incluso cuando se da sólo uno de ellos, como en este ejemplo:

int rejilla [] [4] = {5, 4, 4, 5, 4, 4, 5, 4, 4, 5, 4, 5} -

En la línea precedente, el compilador ve los 12 elementos en una rejilla de matriz, por lo que sabe automáticamente que se trata de una matriz de 3 por 4 en base a la 4 en los soportes. O bien, puede hacer esto:

int rejilla [] [6] = {5, 4, 4, 5, 4, 4, 5, 4, 4, 5, 4, 5} -

En este ejemplo, el compilador se daría cuenta de que tiene dos filas de seis elementos. Sin embargo, el siguiente ejemplo es simplemente incorrecto:

int rejilla [] [] = {5, 4, 4, 5, 4, 4, 5, 4, 4, 5, 4, 5} -

El compilador no se va a poner linda. En la línea precedente, se ve una matriz de una sola dimensión incorrectamente declarado. No son necesarios los corchetes adicionales.

Ejercicio 1: Vuelva a escribir el código de Tic-Tac-Toe para que el tablero de juego de tic-tac-dedo del pie se inicia cuando la matriz se declara - incluyendo poner la X en el lugar adecuado.

TIC-TAC-TOE

Video: 75. Programación en C++ || Funciones || Paso de parámetros de tipo matriz

#include int main () {char tictactoe [3] [3] -INT x, y - / * inicializar matriz * / for (x = 0-XLT; 3-x ++) para (y = 0-YLT; 3-y ++ ) tictactoe [x] [y] =` .`- tictactoe [1] [1] = `X` - / * tablero de juego de visualización * / puts ("Listo para jugar Tic-Tac-Toe?") -para (x = 0-XLT; 3-x ++) {for (y = 0-YLT; 3-y ++) printf ("%Connecticut", Tictactoe [x] [y]) - putchar ( `n`) -} de retorno (0) -}
Artículos Relacionados