[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
RE: Estrutura e ponteiros
- Subject: RE: Estrutura e ponteiros
- From: Leonardo Giantini Trabuco <ltrabuco@cecm.usp.br>
- Date: Fri, 7 Jun 2002 14:12:08 -0300 (BRT)
On Fri, 7 Jun 2002, Yoshiharu Kohayakawa wrote:
> Leonardo Giantini Trabuco wrote (on Friday, 7 Jun 2002, at 13:56:14 -0300):
> > [...]
> > -----------------------------------------------------------------------
> >
> > int ITEMscan(Item *x)
> > { int t;
> > *x.word = &buf[cnt];
> > t = scanf("%s", *x.word); cnt += strlen(*x.word)+1;
> > *x.rep = 0;
> > return t;
> > }
> >
> > -----------------------------------------------------------------------
> >
> > Mas obtenho o seguinte erro na compilação:
> >
> > <1micro04:~/C/Lista1/Ex18/novo> $ gcc Item.c ST.c driver.c
> > Item.c:12: invalid initializer
> > Item.c: In function `ITEMscan':
> > Item.c:16: request for member `word' in something not a structure or union
> > Item.c:17: request for member `word' in something not a structure or union
> > Item.c:17: request for member `word' in something not a structure or union
> > Item.c:18: request for member `rep' in something not a structure or union
>
> *x.word
>
> significa
>
> (*x).word
>
> ou
>
> *(x.word)
>
> ?
Ah... significa *(x.word). Tenho que usar, na verdade,
(*x).word.
Uma última pergunta (espero... :-))
Como é possível realizar as instruções
-----------------
nulo.word = NULL;
nulo.rep = 0;
-----------------
No Item.c, ou seja, fora do módulo principal ou de alguma função? Ou a
idéia é o programa principal chamar uma função de Item.c que faz estas
atrubuições?
Muito obrigado pelas respostas......
Leo.
>
> > Não entendo....... :-)
> > Leo.
>