avner.max 0 Denunciar post Postado Maio 15, 2015 Boa noite galera.Tenho que entregar um trabalho da faculdade amanhã e preciso resolver isso o mais rápido possível.Sou iniciante em C e estou com problema em acessar valores de uma struct aninhada.Tenho um vetor de struct usuário e dentro dela tenho um vetor de struct músicas, so que não consigo acessar os valores do vetor de struct música.Não sei se o código está errado, mas estava compilando. Até eu tentar acessar os valores do vetor de struct música.O código:struct tMusica{ int idMusica;};struct tUsuario{ int idUsuario, contMusica, contni, contnu; struct tMusica musica;};struct tUsuario *usuario = (struct tUsuario*) malloc (sizeof(struct tUsuario));struct tMusica *musica = (struct tMusica*) malloc (sizeof(struct tMusica)); Tentei acessar assim: usuario[x].musica.idMusica; *Estou usando FOR para passar os valores de x e i. Quando tento compilar aparece esse erro: error: subscripted value is neither array nor pointer nor vector usuario[x].musica.idMusica Se alguém souber, da uma mão por favor! Desde já agradeço. Grande abraço. Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Maio 15, 2015 usuário é um ponteiro simples p/ struct, e não um array de ponteiros. Você acessa com usuario-> ou (*usuario). Compartilhar este post Link para o post Compartilhar em outros sites
avner.max 0 Denunciar post Postado Maio 15, 2015 Coloquei * no usuario mas não funcionou, mas caiu a ficha assim que li sua resposta. Dentro da struct usuario, coloquei 'struct tMusica musica', sendo que devia passar musica com um ponteiro. Coloquei 'struct tMusica *musica' e funcionou. haha... Muito obrigado pela ajuda. Abraço! Compartilhar este post Link para o post Compartilhar em outros sites