As matrizes são uma extensão dos vetores e pertencem ao grupo das estruturas de dados homogêneas, ou seja, armazenam múltiplos valores de um mesmo tipo em uma única estrutura.

A principal diferença em relação aos vetores está na forma de organização dos dados: enquanto um vetor utiliza apenas um índice para acessar seus elementos, uma matriz utiliza dois ou mais índices, permitindo representar dados em múltiplas dimensões.

A forma mais comum de matriz é a bidimensional, que pode ser interpretada como uma tabela composta por linhas e colunas.

Cada elemento de uma matriz é acessado por meio de dois índices:

matriz[linha][coluna]

Por exemplo, em uma matriz de inteiros, o elemento localizado na linha 2 e coluna 3 seria acessado como:

mat[2][3];

Comparação com Vetores

Considere a diferença entre as duas estruturas:

vetor[i];        // acesso a um vetor (uma dimensão)
matriz[i][j];    // acesso a uma matriz (duas dimensões)

Essa diferença permite que matrizes representem estruturas mais complexas, como grades e tabelas.

Declaração de Matrizes

A declaração de uma matriz em C segue a mesma lógica da declaração de vetores, com a inclusão de múltiplos colchetes para representar cada dimensão.

Matrizes bidimensionais

int mat[3][4];

Nesse exemplo, declaramos uma matriz com:

Total de elementos: 3 x 4 = 12