Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Eletrônica / Projeto de Sistemas Microcontrolados / Aula
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.
É 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
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.
Exemplo
void main() //Função principal
{
unsigned char erro[5] = {12,33,45,66,70}; /* Declara e atribui valores a uma matriz de cinco elementos do tipo char*/
unsigned char numero_erro; /* Declara uma variável do tipo unsigned char para armazenar o valor do erro.*/
numero_erro = erro[3]; /* A variável numero_erro recebe o valor (66) presente na posição especificada.*/
erro[0] = 192; //Sobrescreve o valor da posição 0 da matriz.
numero_erro = erro[0]; /*A variável numero_erro recebe o valor (192) presente na posição especificada.*/
}
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.
Esse tipo de matriz armazena os valores dos dados em mais de uma dimensão.
Sintaxe:
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.
Exemplo
char mat[2][3] = {‘a’,‘b’,‘c’,‘d’,‘e’,‘f’}; // Declara uma matriz 2x3 do tipo char.
char caractere; /* Declara uma variável do tipo char para armazenar o caractere da matriz.*/
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