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];
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.
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.
int mat[3][4];
Nesse exemplo, declaramos uma matriz com:
Total de elementos: 3 x 4 = 12