Re: sizeof a union



On 2005-11-29, pemo <usenetmeister@xxxxxxxxx> wrote:
>
> "Mockey Chen" <mockey.chen@xxxxxxxxxx> wrote in message
> news:dmhr15$9l8$1@xxxxxxxxxxxxxxxxx
>> My friend ask me a question as following:
>>
>> give a union SU define as:
>> typedef union _SU
>> {
>> short x;
>> struct y{
>> char a;
>> short b;
>> char c;
>> };
>> }SU;
>>
>> what is the sizeof (SU)?
>>
>> My compiler tell me the answer is 6.
>> I want to know why the answer is 6.
>
>
> Why not add another member and use that to 'explore' the other members,
> e.g.,:

[snipped]

Out of curiosity, why is it impossible to add a 'flexible array' to a
union? The best solution to this IMO would be an "unsigned char data[];"
member.
.



Relevant Pages

  • referring to struct members by number.
    ... For certain operations I would like to have easy access to struct ... char member2; ... printf(" %s\r\n", mystruct.member1); ... I could avoid having to name each member? ...
    (comp.lang.c)
  • referring to struct members by number.
    ... For certain operations I would like to have easy access to struct ... char member2; ... printf(" %s\r\n", mystruct.member1); ... I could avoid having to name each member? ...
    (comp.lang.c)
  • referring to struct members by number.
    ... For certain operations I would like to have easy access to struct members. ... char member1; ... printf(" %s\r\n", mystruct.member1); ... Is there some way I could avoid having to name each member? ...
    (comp.lang.c)
  • Re: referring to struct members by number.
    ... For certain operations I would like to have easy access to struct ... char member1; ... printf(" %s\r\n", mystruct.member1); ... I could avoid having to name each member? ...
    (comp.lang.c)
  • Re: referring to struct members by number.
    ... For certain operations I would like to have easy access to struct ... char member2; ... printf(" %s\r\n", mystruct.member1); ... I could avoid having to name each member? ...
    (comp.lang.c)