Skip site navigation (1)Skip section navigation (2)
Date:      02 Oct 2003 12:03:13 -0400
From:      Lowell Gilbert <freebsd-questions-local@be-well.ilk.org>
To:        Bill Moran <wmoran@potentialtech.com>
Cc:        questions@freebsd.org
Subject:   Re: [OT] C question (typedef & structs)
Message-ID:  <44isn7r5j2.fsf@be-well.ilk.org>
In-Reply-To: <3F7C4A3F.8000508@potentialtech.com>
References:  <3F7C4A3F.8000508@potentialtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Bill Moran <wmoran@potentialtech.com> writes:

> 1) What's the difference between:
> 
> struct customStruct {
>      int RecID;
>      char *Name;
> };
> 
> and
> 
> typedef struct customStruct {
>      int RecID;
>      char *Name;
> };
> 
> ??
> 
> I had the latter, but when I started moving my code into
> different files to reorganize things, gcc started giving
> me warnings.  The warnings went away when I moved to the
> former.  I can't quite figure out what the difference is.
> Is one correct and the other not?

I'm not sure whether the second is illegal or not, but in any case it
doesn't make any sense (so I can't be bothered to look it up).  In
both cases, customStruct is the *structure* tag, not a type name.

If you wanted to use a typedef, it would be more like:

 typedef struct customStruct {
      int RecID;
      char *Name;
 } customType;


> 2) I'm a self-taught C programmer.  That means that I know
>     a lot, but I often bump into things that I should know
>     (like question #1) that I don't.  Does anyone have a
>     suggestion for a mailing list that would be good for
>     asking questions like the above?  Keep in mind that
>     I'm not an amature, I'm just not formally trained, so
>     I bump into lots of areas that I'm not sure what I'm
>     doing because I haven't studied it yet ;)

If you're sticking to strictly ANSI C like this, the comp.lang.c
newsgroup is a good place to go.  More useful is its FAQ, which 
you can find at "http://www.eskimo.com/~scs/C-faq/faq.html".  There
are other newsgroups on C, including one for learners, but I don't
have the precise name at hand.

A good book might be a better bet, though.  Both Kernighan & Ritchie
and Harbison & Steele have discussions of typedefs that show how to
use them with structures.

Good luck.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44isn7r5j2.fsf>