Sobre a definição de estruturas (struct) na linguagem C, po...

Próximas questões
Com base no mesmo assunto
Q4114037 Programação
Sobre a definição de estruturas (struct) na linguagem C, pode-se afirmar que
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: D

Fundamento decisivo: O ponto decisivo era a semântica básica de struct em C: a questão cobra uma propriedade elementar dessa construção, e a evidência mínima é que objetos do mesmo tipo de estrutura podem ser atribuídos entre si. Isso seleciona D como a alternativa compatível.

Tema central: Propriedades de struct
Análise das alternativas
A
Errada
Está errada porque nega o conceito básico de struct. Em C, struct é justamente um agrupamento de variáveis relacionadas sob um mesmo tipo.
B
Errada
Está errada porque trata struct como coleção homogênea. Os membros de uma struct podem ter tipos diferentes; essa heterogeneidade é uma propriedade central dessa construção.
C
Errada
Está errada porque, dentro da mesma definição de struct, os nomes dos membros devem ser distintos. Repetição de nome de membro na mesma estrutura torna a definição inválida.
D
Certa
A alternativa D está correta porque, em C, structs são objetos compatíveis quando pertencem ao mesmo tipo, o que permite a atribuição direta entre variáveis da mesma estrutura. Além disso, a struct agrupa variáveis relacionadas e pode reunir membros de tipos diferentes, de modo que a afirmação de D se alinha ao comportamento básico dessa construção na linguagem.
E
Errada
Está errada porque afirma uma impossibilidade genérica que não se sustenta para estruturas do mesmo tipo. Se há compatibilidade entre variáveis da mesma struct para cópia/atribuição, não cabe dizer, de forma absoluta, que uma variável de estrutura não pode ser inicializada com outra do mesmo tipo.
Pegadinha da questão
A questão explora confusões clássicas: achar que struct funciona como arranjo homogêneo e supor que estruturas só podem ser manipuladas membro a membro, sem atribuição do objeto inteiro.
Dica para questões semelhantes
  • Ao julgar afirmações sobre struct em C, verifique três pontos básicos: agrupa variáveis relacionadas, admite membros de tipos diferentes e exige nomes distintos dentro da mesma estrutura.
  • Se a alternativa falar em atribuição entre structs, confirme se está restringindo a compatibilidade a variáveis do mesmo tipo; nessa condição, a atribuição direta é admitida.
  • Desconfie de afirmações absolutas sobre impossibilidade de cópia, inicialização ou uso de structs quando a linguagem admite compatibilidade entre objetos do mesmo tipo.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo