Estruturas de Dados: o Registro
Conceito de Registro
Um Registro é uma estrutura que fornece um formato especializado para armazenar informações em memória.
Ele inclui as informações sobre uma entidade específica, podendo, por exemplo, corresponder às informações pertinentes a um cliente em um arquivo de clientes ou a um automóvel em um arquivo de controle de uma concessionária, entre outros.
Um registro é dividido em unidades de dados chamadas de Campos. Cada campo é utilizado para armazenar um dado específico, de um tipo determinado. Por exemplo, em um registro de clientes podemos ter um campo para armazenar o nome do cliente, outro para seu sobrenome, e um outro campo para armazenar seu CPF.
Representando os registros
Os registros podem ser representados de formas distintas, dependendo da linguagem de programação adotada para a criação do algoritmo no qual eles serão empregados. Em linguagem C, por exemplo, os registros podem ser representados por estruturas (structures), ao passo que em C++ e Java, por objetos de uma classe.
Os membros de dados dentro desses objetos equivalem aos campos no registro.
Exemplo de um registro
Tomemos como exemplo os dados de um cliente de uma loja qualquer. Para representar esses dados na memória do computador, e posteriormente armazená-los em disco, podemos lançar mão do uso de um registro.
Abaixo podemos ver alguns campos de exemplo que constituem o registro de um cliente:
CPF |
Nome |
Sobrenome |
Rua |
Telefone |
O registro é identificado por um nome, como por exemplo “Cliente”, e seus membros (campos) podem ser acessados por meio do uso do operador ponto (.). Por exemplo, para acessar o CPF do cliente poderíamos utilizar a seguinte declaração:
Cliente.CPF
Além disso, um campo qualquer pode conter um outro registro, caso seja um campo de dados composto. Em nosso exemplo, o campo Rua poderia ser subdividido em mais campos, como Nome_Rua e Número_Rua, para diferenciar esses dois dados.
O conceito de Chave
Geralmente um dos campos de um registro é denominado Chave, ou ainda Campo-Chave. Usamos esse campo em particular para nos auxiliar na procura de um conjunto específico de dados dentro de um arquivo de dados (ou seja, na busca de um registro).
Em nosso exemplo, poderíamos pesquisar um cliente específico a partir de seu número de CPF, armazenado em um campo homônimo, que pode ser considerado o campo-chave.
Exemplos
A seguir temos um exemplo de implementação desse registro de clientes em C, usando uma estrutura:
struct cliente { char CPF[11]; char nome[30]; char sobrenome[50]; char rua[60]; int numero; char telefone[11]; };
Note que na linguagem, além de definirmos os nomes de cada campo, também precisamos definir o tipo de dados de cada um, para que sejam realizadas as alocações de memória adequadas quando o registro for devidamente criado em tempo de execução do programa.
Essas estruturas são usadas para definir os registros que são armazenados em arquivos, e, juntamente com outras técnicas de programação, como os ponteiros, permitem e simplificam a criação de estruturas de dados mais complexas, como por exemplo as pilhas, listas ligadas, filas e árvores, entre outras.
(Clique aqui para saber mais sobre estruturas em linguagem C).
Nos próximos artigos vamos explorar essas e outras estruturas de dados. Até!
Escreva um comentário