Assim como os vetores, as matrizes geralmente precisam ser percorridas para que possamos:

No entanto, como as matrizes possuem duas ou mais dimensões , é necessário utilizar laços aninhados para percorrer todos os seus elementos.

Estrutura Básica

Para percorrer uma matriz de dimensões M x N, utilizamos dois laços for:

for(int i = 0; i < M; i++){
    for(int j = 0; j < N; j++){
        // acesso ao elemento mat[i][j]
    }
}

<aside> 💡

Tenha especial atenção aos limites das matrizes e que o primeiro índice é sempre representado por zero

</aside>

Leitura de Valores

Um dos usos mais comuns é a leitura dos valores da matriz a partir da entrada padrão:

int mat[2][3];

for(int i = 0; i < 2; i++){
    for(int j = 0; j < 3; j++){
        scanf("%d", &mat[i][j]);
    }
}

Nesse caso, o programa lê os elementos linha por linha.

Impressão da Matriz

Também podemos percorrer a matriz para imprimir seus elementos de forma organizada:

for(int i = 0; i < 2; i++){
    for(int j = 0; j < 3; j++){
        printf("%d ", mat[i][j]);
    }
    printf("\n");
}

A quebra de linha (\n) ao final do laço interno garante que cada linha da matriz seja exibida corretamente.