Structs aninhadas permitem que definamos structs que contêm outras structs como membros, conforme exemplo a seguir:
struct Pessoa {
char nome[50];
int idade;
};
struct Pessoa matrizPessoas[10][10];
Esse recorte da declaração de uma struct aninhada em C tem a finalidade de:
Alternativas:
A) Definir uma base de dados 10x10 em C
B) Criar um vetor de structs com 10 linhas e 10 colunas
C) Criar uma variável pessoa do tipo struct
D) Criar e atribuir valores para as variáveis nome e idade
E) Criar uma matriz de structs com 10 linhas e 10 colunas
Ed
há 2 meses
Vamos analisar as alternativas com base no exemplo dado: O código apresentado define uma struct chamada `Pessoa`, que contém dois membros: um array de caracteres para o nome e um inteiro para a idade. Em seguida, é declarada uma matriz de structs `matrizPessoas` com 10 linhas e 10 colunas. Agora, vamos às alternativas: A) Definir uma base de dados 10x10 em C - Não é exatamente isso que a declaração faz, pois não define uma base de dados, mas sim uma estrutura de dados. B) Criar um vetor de structs com 10 linhas e 10 colunas - A matriz é uma estrutura bidimensional, não um vetor unidimensional. C) Criar uma variável pessoa do tipo struct - Não, a declaração não cria uma única variável, mas sim uma matriz. D) Criar e atribuir valores para as variáveis nome e idade - A declaração não atribui valores, apenas define a estrutura e a matriz. E) Criar uma matriz de structs com 10 linhas e 10 colunas - Esta alternativa está correta, pois a declaração realmente cria uma matriz de structs `Pessoa` com 10 linhas e 10 colunas. Portanto, a alternativa correta é: E) Criar uma matriz de structs com 10 linhas e 10 colunas.