Thread: differences between struct and typedef struct

  1. #1
    Registered User
    Join Date
    Jul 2004

    differences between struct and typedef struct

    This may have been asked before and may also be trivial, but I'm curious between the differences of:
    struct ANYTYPE
        // members
    typedef struct TYPENAME
          // members
    } ANYTYPE;
    Would be muchly appreciated to hear some thoughts.

  2. #2
    Frequently Quite Prolix dwks's Avatar
    Join Date
    Apr 2005
    When you name a structure with a tag like so,
    struct tag {
    you're declaring a structure tag that can be used together with the struct keyword to declare an instance of that structure.
    struct tag instance;
    When you use a typedef like this,
    typedef struct {
    } tag;
    you're declaring a typedef by the name of tag which happens to map to a structure, and which you can use like this, without the "struct" keyword.
    tag instance;
    Basically, using typedef lets you leave off the struct keyword everywhere else.

    (BTW, this is a C phenomenon. In C++, you can declare an instance of a struct or a class with just the tag name, with no typedef required.)

    Seek and ye shall find. quaere et invenies.

    "Simplicity does not precede complexity, but follows it." -- Alan Perlis
    "Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
    "The only real mistake is the one from which we learn nothing." -- John Powell

    Other boards: DaniWeb, TPS
    Unofficial Wiki FAQ:

    My website:
    Projects: codeform, xuni, atlantis, nort, etc.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Need help understanding info in a header file
    By hicpics in forum C Programming
    Replies: 8
    Last Post: 12-02-2005, 12:36 PM
  2. Dikumud
    By maxorator in forum C++ Programming
    Replies: 1
    Last Post: 10-01-2005, 06:39 AM
  3. towers of hanoi problem
    By aik_21 in forum C Programming
    Replies: 1
    Last Post: 10-02-2004, 01:34 PM
  4. Contest Results - May 27, 2002
    By ygfperson in forum A Brief History of
    Replies: 18
    Last Post: 06-18-2002, 01:27 PM
  5. oh me oh my hash maps up the wazoo
    By DarkDays in forum C++ Programming
    Replies: 5
    Last Post: 11-30-2001, 12:54 PM