Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
07/28/06 11:32
Read: times


 
#121251 - nameless struct member
Responding to: ???'s previous message
Just as an aside, note that x.y.z has no run-time penalty over x.y; in fact, x.y has no runtime penalty over w !

This is because the compiler can do all the necessary offset calculations at compile time.

Of course, x->y->z is an entirely different matter...!

Wouldn't that be x->y.z ?
And allthough it can be calculated at compile time that doesn't mean all compilers also do that.

but it will still be x.y.z instead of x.y

Some C compilers support nameless struct members (non-standard!). If yours does you can leave out the sd name and access it as x.z
typedef struct h
{
    struct sd {
    U8    SDser[8]  ; // serial number
    U8    SDaddr    ; // address assigned to sign
    U8    SDdips    ; // dipswitch setting
    U8    SDtype    ; // type of sign
    U8    SDwidt    ; // width
    U8    SDhgth    ; // height
    };
    U8    SDfill[256-sizeof(struct sd)-1] ;  // fill struct to be 256 long

    // put this one last
    U8    SDerno    ; // here store error number if FRAM match/update failed.
} SIGN_DESC;


List of 15 messages in thread
TopicAuthorDate
fixed size struct?            01/01/70 00:00      
   Not quite clear            01/01/70 00:00      
      thx, but            01/01/70 00:00      
         Confused!            01/01/70 00:00      
            the original question is \"can you define a struct            01/01/70 00:00      
               Possible in theory, but the code looks strange            01/01/70 00:00      
                  figured the dummy out myself but that is the road            01/01/70 00:00      
                  Doesn\'t have to look strange            01/01/70 00:00      
                     got it, thanks            01/01/70 00:00      
                        Aside - structure addressing            01/01/70 00:00      
                           which is the case in one of the instances            01/01/70 00:00      
                              nameless struct member            01/01/70 00:00      
   union of structs            01/01/70 00:00      
      same as Andy            01/01/70 00:00      
         Pascal            01/01/70 00:00      

Back to Subject List