Cursos / Eletrônica / Projeto de Sistemas Microcontrolados / Aula

arrow_back Aula 07 - Fundamentos de Linguagem C – Parte II

Matrizes

Matriz é um agrupamento de variáveis do mesmo tipo, associadas a um nome. Ela pode ter uma única dimensão (unidimensional), como mostrado na Figura 1, ou mais de uma dimensão (multidimensional), como mostrado na Figura 2, onde cada posição corresponde a uma variável do tipo especificado, acessível por meio de um índice.

 

Matriz unidimensional

É um tipo de matriz que armazena os elementos em uma única dimensão. Nesse caso, a primeira posição (ou índice) da matriz é sempre o 0. Por exemplo, numa matriz de cinco elementos, os índices variam de 0 a 4, totalizando as cinco posições.

Sintaxe

AخA
1
tipo identificador [quantidade_posições];

Onde, tipo é um tipo de dado válido, identificador é o nome da matriz e quantidade_posições é o número de elementos da matriz.

Figura 01 - Matriz unidimensional
Matriz unidimensional

Exemplo

x
1
void main() //Função principal
2
{
3
    unsigned char erro[5] = {12,33,45,66,70};  /* Declara e atribui valores a uma matriz de cinco elementos do tipo char*/
4
    unsigned char numero_erro;                  /* Declara uma variável do tipo unsigned char para armazenar o valor do erro.*/ 
5
    numero_erro = erro[3];                           /* A variável numero_erro recebe o valor (66) presente na posição especificada.*/
6
7
    erro[0] = 192;                                          //Sobrescreve o valor da posição 0 da matriz.
8
    numero_erro = erro[0];                           /*A variável numero_erro recebe o valor (192) presente na posição especificada.*/
9
}

Pode-se constatar que a matriz declarada no exemplo anterior tem valores atribuídos às suas respectivas posições. Caso não fossem atribuídos valores iniciais à matriz, as correspondentes posições iriam conter lixo de memória, por essa razão, todas as posições devem ser preenchidas adequadamente durante a codificação do programa a fim de se evitar erros de inconsistência de dados.

 

Matriz multidimensional

Esse tipo de matriz armazena os valores dos dados em mais de uma dimensão.

Sintaxe:

1
1
tipo  identificador [quantidade_pos_x][quantidade_pos_y] ... [quantidade_pos_z];

Sendo: tipo: a definição de tipo de dado válido; identificador: o nome da matriz; quantidade_pos: o número de elementos da matriz.

Figura 02 - Matriz bidimensional
Matriz bidimensional

Exemplo

3
1
char mat[2][3] = {‘a’,‘b’,‘c’,‘d’,‘e’,‘f’};    // Declara uma matriz 2x3 do tipo char.
2
char caractere;      /* Declara uma variável do tipo char para armazenar o caractere da matriz.*/
3
caractere = mat[0][1];      /* A variável recebe o caractere (‘n‘) presente na posição especificada.*/

Para facilitar a compreensão de matrizes multidimensionais, exemplificamos uma matriz bidimensional 2x3, ou seja, com duas linhas e três colunas, como mostrado na Figura 2. Nesse caso, os índices irão variar de 0 a 1 para as linhas e de 0 a 2 para as colunas.

Versão 5.3 - Todos os Direitos reservados