Karkaroffy Postado Dezembro 22, 2012 Denunciar Share Postado Dezembro 22, 2012 O problema é simples, tem uma variável do tipo struct dentro de uma struct. Eu consigo manusear ela normalmente dentro da Main, mas ao passar ela para uma função dá erro:#include <stdio.h> typedef struct { int num; } reg1; typedef struct { reg1 numero; } reg2; void calcula(reg2 reg); int main () { reg2 reg; calcula(reg); printf ("%d", reg.numero.num); return 0; } void calcula (reg2 reg){ reg.numero.num = 5; } Ou seja, se eu atribuir o valor 5 a 'num' dentro da Main com: reg.numero.num = 5;dá certo, já se eu usar isso dentro da função não dá...Agradeço quem puder ajudar :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Dezembro 23, 2012 Denunciar Share Postado Dezembro 23, 2012 Você precisa criar objetos para a estrutura dentro das funções também. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dan Oliveira Postado Dezembro 27, 2012 Denunciar Share Postado Dezembro 27, 2012 Você está criando uma função que tem parametros passado por cópia, logo o valor alterado é da cópia da estrutura passada e não da própria.Não entendi o que você quer fazer, por que se for pra atribuir é bem mais recomendável fazer dentro de main, caso faça um calculo, mostre nos que tipo de cálculo seria. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mateus GP Postado Dezembro 31, 2012 Denunciar Share Postado Dezembro 31, 2012 (editado) #include <stdio.h> typedef struct{ int num; } reg1; typedef struct { reg1 numero; } reg2; void calcula(reg2* reg); int main () { reg2 reg; calcula(®); printf ("%d", reg.numero.num); return 0; } void calcula (reg2* reg){ reg->numero.num = 5; } Editado Dezembro 31, 2012 por Mateus GP Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Karkaroffy
O problema é simples, tem uma variável do tipo struct dentro de uma struct. Eu consigo manusear ela normalmente dentro da Main, mas ao passar ela para uma função dá erro:
Ou seja, se eu atribuir o valor 5 a 'num' dentro da Main com:dá certo, já se eu usar isso dentro da função não dá...
Agradeço quem puder ajudar :)
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.