Saturday, September 13, 2008

More on Unions.

Purpose: a single variable that can legitimately hold any of one of several types.

Eg:
Suppose a constant may be an int, a float, or a character pointer. The value of a particular constant must be stored in a variable of the proper type, yet it is most convenient for table management if the value occupies the same amount of storage and is stored in the same placeregardless of its type.

union u_tag {
int ival;
float fval;
char *sval;
} u;
The variable u will be large enough to hold the largest of the three types.

i.e any one of the three variables (not all) value will be hold.

Difference between Structure and Union.

As most of the people know the answer.Yes ur right , the size of the structure is total size of the variables where as for Union ,size is max size of the variables.

struct size
{
int i;
float f;
char c;
};

and size of this structure is 9 bytes (4(int)+4(float)+1(char) ) depending on the machine.
You may get 12bytes on some machines because of structure Padding ,i will write abt this in the next post.
union size
{
int i;
float f;
char c;
};

and the size of this union is max size of the variable i.e 4 bytes(int or flaot 4 byets).

Monday, September 8, 2008

My First post.

Hi All,
This is Chandra Sekhar working as a software developer. And the reason for creating this blog is to share the problems I faced at my work .

Popular Posts