I want know the differences between Unions and Structures in C
programming.
The size of union is the size of its largest member. In most
implementations (but standard does *not* require it) all members of
union are placed at the same location in memory.
Structures are just "normal" groups of variables.
Pawel Dziepak
PS I really shouldn't help you that way, there is a lot of information
about structures and unions in many FAQs, articles, etc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
On Mon, 03 Nov 2008 12:21:34 +0100,
Pawel Dziepak <pdziepak@quarn os.orgwrote:
>
Ravikiran wrote:
>I want know the differences between Unions and Structures in C
>programming.
>
The size of union is the size of its largest member. In most
implementations (but standard does *not* require it) all members of
union are placed at the same location in memory.
From 6.2.5 - 20
— A union type describes an overlapping nonempty set of member
objects, each of which has an optionally specified name and possibly
distinct type.
Also, from 6.5.8 - 5
All pointers to members of the same union object compare equal.
I'd say that pretty much gurantees that the members of a union, as you
say it, are placed at the same location in memory.
Martien
PS. quotes from n1256. Wording in actual c99 standard is identical. I
don't own a c89 copy, but in a draft for that standard, similar ior
identical wording for the above quoted is present
--
|
Martien Verbruggen | Since light travels faster than sound, is
| that why some people appear bright until you
| hear them speak?
On Nov 3, 6:06 pm, Martien Verbruggen <m...@heliotrop e.com.auwrote:
On Mon, 03 Nov 2008 12:21:34 +0100,
Pawel Dziepak <pdzie...@quarn os.orgwrote:
>
>
>
Ravikiran wrote:
I want know the differences between Unions and Structures in C
programming.
>
The size of union is the size of its largest member. In most
implementations (but standard does *not* require it) all members of
union are placed at the same location in memory.
>
From 6.2.5 - 20
>
— A union type describes an overlapping nonempty set of member
objects, each of which has an optionally specified name and possibly
distinct type.
>
Also, from 6.5.8 - 5
>
All pointers to members of the same union object compare equal.
>
I'd say that pretty much gurantees that the members of a union, as you
say it, are placed at the same location in memory.
>
Martien
>
PS. quotes from n1256. Wording in actual c99 standard is identical. I
don't own a c89 copy, but in a draft for that standard, similar ior
identical wording for the above quoted is present
>
--
|
Martien Verbruggen | Since light travels faster than sound, is
| that why some people appear bright until you
| hear them speak?
the difference basically arises in the memory allocation..... while
structure allocates memory separately to each of its members, the same
is not the case with unions..it allocates memory only to the largest
available member...the rest of them are allocated within this block of
memory only
I want know the differences between Unions and Structures in C
programming.
If your textbook doesn't explain this clearly, you need a new
textbook. I recommend K&R2 (Kernighan & Ritchie, The C Programming
Language, 2nd Edition).
--
Keith Thompson (The_Other_Keit h) kst-u@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
>
I want know the differences between Unions and Structures in C
programming.
Try the C standard. For example:
6.7.2.1 Structure and union specifiers
...
Semantics
[#4] As discussed in 6.2.5, a structure is a type consisting
of a sequence of members, whose storage is allocated in an
ordered sequence, and a union is a type consisting of a
sequence of members whose storage overlap.
Comment