Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Aula 05
Professor Cassiana Fagundes da Silva
Conversa Inicial
Na aula de hoje, iremos estudar a struct, especificando-a e, principalmente compreendendo para que
serve, onde e quando deve ser usada.
Bons estudos!
Contextualizando
Analisando os conteúdos vistos até a aula de hoje, podemos dizer que o armazenamento de
dados sempre foi usado na memória do computador.
No material online, confira o vídeo com a contextualização da aula preparada pela professora
Cassiana!
Objetivos da Aula
Structs
Structs
Podem ser definidas como uma estrutura que agrupa variáveis com tipos de dados diferente e, sendo
cada posição nomeada e não indexada como os vetores. Podemos compor structs com variáveis do tipo
primitivo ou, com tipos derivados, e até compor struct com struct.
A ideia básica por trás desta estrutura é criar apenas um tipo de dado que contenha vários membros,
que nada mais são do que outras variáveis. Em outras palavras, estamos criando uma variável que
contém dentro de si outras variáveis.
A forma geral da definição de uma nova estrutura é utilizando o comando struct. Confira a seguir!
tipo2 campo2;
...
tipon campoN;
};
Agora, acompanhe a videoaula com a professora Cassiana, no material online, ela explicará os conceitos
básicos sobre as structs. Não perca!
A principal vantagem do uso de estruturas é a possibilidade de agrupar de forma organizada vários tipos
de dados diferentes dentro de uma única variável. Confira a seguir um exemplo de estrutura:
Observe que os campos de estrutura são definidos da mesma forma que variáveis, assim como os
nomes dos membros que devem ser diferentes um do outro. Confira o exemplo a seguir:
struct cadastro{
char nome[50];
int idade;
char rua[50];
int numero;
};
struct aluno{
char nome[50];
int matricula
float nota1,nota2,nota3;
}
Depois do símbolo de fecha chaves (g) da estrutura é necessário colocar um ponto e vírgula (;).;
A estrutura pode ser também declarada no No exemplo a seguir, duas variáveis (cad1 e
cad2) são declaradas junto com a definição da
escopo local. Por questões de simplificações e,
estrutura.
por se tratar de um novo tipo, é possível logo na
struct cadastro{
definição da struct definir algumas variáveis char nome[50];
desse tipo. Para isso, basta colocar os nomes das int idade;
char rua[50];
variáveis declaradas após o comando de fecha int numero;
chaves (g) da estrutura e antes do ponto de } cad1, cad2;
vírgula (;).
Uma vez definida a estrutura, uma variável pode ser declarada de modo similar aos tipos já existentes:
struct cadastro c;
O uso de estruturas facilita muito a vida do programador na manipulação dos dados do programa. Agora,
imagine ter que declarar quatro cadastros para quatro pessoas diferentes:
O operador de acesso aos campos da estrutura é o ponto (.). Ele é usado para referenciar os
campos de uma estrutura. O exemplo a seguir mostra como os campos da estrutura cadastro, definida
anteriormente, podem ser facilmente acessados:
Da mesma maneira que nos arrays, uma estrutura também pode ser inicializada,
independentemente do tipo das variáveis contidas nela. Para tanto, na declaração da variável do tipo da
estrutura, basta definir uma lista de valores separados por vírgula e delimitado pelo operador de chaves
{}.
Confira:
Nesse caso, também como nos arrays, a ordem é mantida. Isso significa que o primeiro valor da
inicialização será atribuído a primeira variável membro (nome) da estrutura e assim por diante.
Arrays de estrutura
Vimos que o uso de estruturas facilita muito a vida do programador na manipulação dos dados do
programa. Imagine, novamente, ter que declarar quatro cadastros, para quatro pessoas diferentes:
A representação desses quatro cadastros pode ser ainda mais simplificada se utilizarmos o conceito de
arrays:
Desse modo, cria-se um array de estruturas, cada posição do array é uma estrutura tipo cadastro.
A combinação de arrays e estruturas permite que se manipule de modo muito mais eficiente as
inúmeras variáveis de estrutura. Como vimos, no uso de arrays, a manipulação de um índice permite que
empreguemos o comando de repetição para executar uma mesma tarefa para diferentes posições do
array.
Confira na tela a seguir como os quatro cadastros anteriores podem ser lidos com o auxílio de um
comando de repetição!
Essa ordem deve ser respeitada pois o índice do array é que indica qual posição do array
queremos acessar. Cada posição do array é uma estrutura e, somente depois de definida quais das
estruturas contidas dentro do array queremos acessar é que é possível acessar seus campos.
Agora, vamos resolver alguns exercícios para ver se você fixou o conteúdo visto na
aula de hoje?
a. Permite organizar vários tipos de dados diferentes dentro de uma única variável.
Alternativa A.
Gabarito da questão 2:
Alternativa A.
Síntese
Neste encontro, pudemos conhecer e aprender como trabalhar com o dado chamado struct. A partir
dos conhecimentos abordados na aula, podemos concluir que em relação a estruturas, teremos sempre
objetos que são relacionados a mais de um tipo de campo, e esses campos são diferentes entre si.
Não deixe de assistir a síntese preparada pela professora Cassiana, disponível o material online!
DAMAS, L. Linguagem em C. 10ª ed. Trad. João Araujo Ribeiro, Orlando Bernardo Filho. Rio de
Janeiro: LTC, 2013.