Estruturas (ou registos) permitem agrupar variáveis de tipos diferentes sob um único nome, organizando os dados de um programa. Em C, estruturas são definidas usando a palavra-chave "struct", enquanto em Java são definidas como classes. Após definidas, estruturas podem ser utilizadas para declarar variáveis que acessam seus campos individualmente, de forma semelhante a variáveis normais.
2. Uma estrutura (struct) é uma coleção de uma
ou mais variáveis, possivelmente de tipos
diferentes, agrupadas sob um único nome.
Estruturas constituem um recurso importante
para organizar os dados utilizados por um
programa pois trata um grupo de valores como
uma única variável.
São chamadas de registos em outras
linguagens de programação.
Prof. Adriano Teixeira de Souza
Registos
3. Estruturas (ou registos) são classificados como
variáveis compostas heterogéneas, pois podem
agrupar variáveis de tipos diferentes.
Em contraposição, temos os vetores e matrizes,
classificados como variáveis compostas
homogéneas, pois somente agrupam variáveis do
mesmo tipo.
Registos
5. Exemplo em Java:
Criar Registos (Objetos)
class data {
public int dia;
public int mes;
public int ano;
}
6. A palavra-chave struct/class informa ao
compilador que um modelo de estrutura está
sendo definido.
“data” é uma etiqueta que dá nome à definição da
estrutura.
Uma definição de estrutura é um comando, por
isso deve terminar em ponto-e-vírgula.
Registos
7. Os nomes declarados entre as chaves são os
campos (ou membros) da estrutura.
Os campos de uma mesma estrutura devem ter
nomes diferentes.
Registos
8. A definição de uma estrutura não reserva qualquer
espaço na memória.
Note que, no exemplo dado, nenhuma variável foi
declarada de fato, apenas a forma dos dados foi
definida.
Essa definição, porém, cria um novo tipo de dados,
que pode ser usado para declarar variáveis.
Registos
9. A definição do formato de uma estrutura pode ser
feita dentro da função principal (main) ou fora dela.
Usualmente, declara-se a Estrutura numa classe
à parte da classe principal, sendo necessário
que:
ambas as classes estejam na mesma
“package”
ou
não estando na mesma package é
necessário fazer o import da package onde a
Estrutura se encontra
Utilização da struct/objeto criado
10. Utilização da struct/objeto criado
import “package”
public class Datas {
public static void main(String[] args){
data data_de_hoje = new data(); //criação da
variável dia_de_hoje do tipo data
}
}
11. Podemos acessar individualmente os campos
de uma determinada estrutura como se
fossem variáveis comuns.
A sintaxe para acessar e manipular campos
de estruturas é a seguinte:
data_de_hoje.dia // para aceder ao dia
data_de_hoje.mes // para aceder ao mes
data_de_hoje.ano // para aceder ao ano
12. A leitura dos campos de uma estrutura a partir do
teclado deve ser feita campo a campo, como se
fosse variáveis independentes.
System.out.println(data_de_hoje.dia+"/"+data_de_hoje.mes +""+data_de_hoje.ano);
13. Faça um programa que:
◦ Leia um array “turma” de 5 alunos
◦ Cada registro/struct de aluno deve ter o numero de
aluno, o nome e a sua nota de LP.
◦ Imprima a pauta da discilplina de LP, mostrando o
número de aluno, nome e nota de cada aluno;
◦ E finalmente calcule a média da turma e
apresente-a no ecrã
Profª. Catarina Cruz