Informática, perguntado por le0ribeir0, 1 ano atrás

A estrutura permite agregar diversas informações, que podem ser de diferentes tipos. Possibilita gerar novos tipos de dados, além dos definidos pelas linguagens de programação.

LEAL, G. C. P. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2016.

Analise o código a seguir:

1 #include
2 typedef struct {
3 char nome[30];
4 char telefone[15];
5 } contato;
6
7 contato agenda[20];
8
9 int main() {
(...)
26 return 0;
27 }

Considerando o código apresentado, assinale a alternativa correta:

Alternativas
Alternativa 1:
As estruturas, na linguagem C, são elementos que permitem diferentes dados que são acessados por índices numéricos iniciados em 0.

Alternativa 2:
A estrutura no código apresentado não pode ser considerada como uma estrutura heterogênea, pois possui dados do mesmo tipo apenas.

Alternativa 3:
O comando typedef é utilizado para a criação de estruturas na linguagem C. A criação de estruturas é sempre feita após as palavras "typedef struct".

Alternativa 4:
O uso do typedef permite a criação de um novo tipo de dado. Com isso, a declaração da variável pode ser feita indicando o nome da estrutura, como o tipo de dado da variável.

Alternativa 5:
No código apresentado, o nome "contato" é apenas um identificador temporário. É por isso que ele fica ao final da estrutura. Após a atribuição da variável, o nome "contato" é desassociado da estrutura.

Soluções para a tarefa

Respondido por macaibalaura
2

Alternativa 2, como na afirmação se fala que a estrutura NO CÓDIGO, então avaliamos apenas o código, e realmente na estrutura temos apenas dados do tipo char, mas se pegamos struct é considerada uma estrutura  heterogênea, entretanto neste código ela está homogênea.

A afirmação 1, está incorreta pois ela fala no geral das estruturas, e para acessamos qualquer dado na estrutura temos que utilizar um operador de seleção, que seria o "ponto".

A afirmação 3 está incorreta pois, ela é usada apenas typedef e não  "typedef struct".

Na afirmação 4, fala que permite a criação de novo dado, entretanto isso está incorreto, ela não cria novos dados e sim renomeá um tipo de dado.

Na 5 afirmação, ela nos diz sobre identificador temporário, na verdade não existe identificador temporário, e sim identificar na struc, no código a estrutura struc está incorreta, pois o identificador vai logo apos o nome struc, ele é o nome da estrutura, logo não pode ser desassociado da estrutura.

Espero ter ajudado, bons estudos!

Respondido por anomelio93
5

Resposta:

Alternativa 1.

Explicação:

Bem, seja um set, uma árvore binária, uma struct, um vetor, uma matriz, uma fila, uma pilha ou qualquer outra estrutura de dado, o seu índice primário sempre será 0.

Alternativa 2) Falsa, apesar de ter sido utilizado apenas um tipo, a função struct consegue armazenar diferentes tipos.

Alternativa 3) Falso, o comando typedef serve apenas para encurtar algum comando. Por exemplo,

typedef pair<int, int> pii;

Depois de ter dado esse comando, ao invés de precisar escrever pair<int,int> a todo instante, basta eu escrever pii.

4) Falso, como explicado anteriormente.

5) Não, ele é o nome da estrutura, o nome do endereço de memória em que ela está armazenada.

Espero ter ajudado, bons estudos.


le0ribeir0: alternativa 4 é a correta !
Perguntas interessantes