Como declarar uma matriz multidimensional inicializado em c programação

Video: 20 - Programação em Linguagem C - Matrizes - Declaração e Inicialização

Na programação C, o segredo escuro de arrays multidimensionais é que eles realmente não existem. Internamente, o compilador ainda vê as coisas como dimensões individuais - apenas uma longa gama completa de elementos. A notação duplo (ou triplo) do suporte é usada para calcular o correcto deslocamento na matriz durante a compilação. Isso é bom porque o compilador faz o trabalho.

Você pode ver como multidimensional matrizes traduzir em velhas matrizes chatas regulares quando você declará-los já inicializados. Por exemplo:

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

O grid array consiste em três fileiras de quatro itens cada. Como no exemplo acima, ele é declarado como uma grade e se parece com uma grade. Essa declaração funciona, desde que o último elemento não tem uma vírgula depois dela. Na verdade, você pode escrever a coisa toda como isto:

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

Esta declaração ainda define uma matriz multidimensional, mas você pode ver como ele é realmente apenas um vetor de dimensão única com índices duais. Na verdade, o compilador é inteligente o suficiente para descobrir as dimensões, mesmo quando você dar apenas um deles, como neste exemplo:

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


Na linha anterior, o compilador vê os 12 elementos em uma grelha de matriz, de modo que automaticamente sabe que é uma matriz de 3-a-4 com base na 4 entre os colchetes. Ou você pode fazer isso:

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

Neste exemplo, o compilador iria descobrir que você tem duas fileiras de seis elementos. Mas o exemplo a seguir é simplesmente errado:

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

O compilador não vai ficar bonito. Na linha anterior, vê uma matriz unidimensional indevidamente declarado. Os colchetes extras não são necessários.

Exercício 1: Reescrever o código do Tic-Tac-Toe para que o tabuleiro de jogo tic-tac-toe é inicializado quando a matriz é declarada - incluindo colocar o X no lugar adequado.

JOGO DA VELHA

Video: [C] Aula 27 - Array Multidimensional

#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` - / * placa de jogo visor * / (coloca"Pronto para jogar Tic-Tac-Toe?") -para (x = 0-xlt; 3-x ++) {para (y = 0-YLT; 3-y ++) printf ("% ct", Tictactoe [x] [y]) - putchar ( `n`) -} retorno (0) -}

Publicações relacionadas