What is the main difference between STRUCTURE and UNION?

Answer Posted / anil kumar nahak

1.)A union is a way of providing an alternate way of
describing the same memory area. In this way, you could
have a struct that contains a union, so that the "static",
or similar portion of the data is described first, and the
portion that changes is described by the union. The idea of
a union could be handled in a different way by having 2
different structs defined, and making a pointer to each
kind of struct. The pointer to struct "a" could be assigned
to the value of a buffer, and the pointer to struct "b"
could be assigned to the same buffer, but now a->somefield
and b->someotherfield are both located in the same buffer.
That is the idea behind a union. It gives different ways to
break down the same buffer area.

2.)The difference between structure and union in c are: 1.
union allocates the memory equal to the maximum memory
required by the member of the union but structure allocates
the memory equal to the total memory required by the
members. 2. In union, one block is used by all the member
of the union but in case of structure, each member have
their own memory space

3.)Detailed Example:
struct foo
{
char c;
long l;
char *p;
};

union bar
{
char c;
long l;
char *p;
};

A struct foo contains all of the elements c, l, and p. Each
element is
separate and distinct.

A union bar contains only one of the elements c, l, and p
at any given
time. Each element is stored in the same memory location
(well, they all
start at the same memory location), and you can only refer
to the element
which was last stored. (ie: after "barptr->c = 2;" you
cannot reference
any of the other elements, such as "barptr->p" without
invoking undefined
behavior.)

Is This Answer Correct ?    42 Yes 29 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

To Write a C program to remove the repeated characters in the entered expression or in entered characters(i.e) removing duplicates. String contains only lowercase characters ['a'-'z']

512


can you use proc sql to manpulate a data set or would u prefer to use proc report ? if so why ? make up an example and explain in detail

2345


Write a program to model an exploding firecracker in the xy plane using a particle system

3703


#include int main(void) { int a=4, b=2; a=b<>2 ; printf("%d",a); return 0; }

1086


What is data _null_? ,Explain with code when u need to use it in data step programming ?

2834






I need your help, i need a Turbo C code for this problem.. hope u'll help me guys.? Your program will have a 3x3 array. The user will input the sum of each row and each column. Then the user will input 3 values and store them anywhere, or any location or index, temporarily in the array. Your program will supply the remaining six (6) values and determine the exact location of each value in the array. Example: Input: Sum of row 1: 6 Sum of row 2: 15 Sum of row 3: 24 Sum of column 1: 12 Sum of column 2: 15 Sum of column 3: 18 Value 1: 3 Value 2: 5 Value 3: 6 Output: Sum of Row 1 2 3 6 4 5 6 15 7 8 9 24 Sum of Column 12 15 18 Note: Your program will not necessary sort the walues in the array Thanks..

2816


how to test pierrot divisor

2274


How to palindrom string in c language?

8923


Can you send Code for Run Length Encoding Of BMP Image in C Language in linux(i.e Compression and Decompression) ?

3868


How can I Create a C program in splitting set of characters to specific subsets. Example: INPUT SET OF CHARACTERS: Therefore, my dear brothers and sisters, stand firm. Let nothing move you. Always give yourselves fully to the work of the Lord, because you know that your labor in the Lord is not in vain. SPLIT INTO HOW MANY CHARACTERS PER SUBSETS: 10 OUTPUT: Therefore, my dear b rothers an d sisters, stand fir m. Let not hing move you. Alway s give you rselves fu lly to the work of t he Lord, b ecause you know that your labo r in the L ord is not in vain.

1941


A program that will create a movie seat reservation. The program will display the summary seats and its status. The user will be ask what seat no. to be reserved, then it will go back again to the summary to display the updated seat status. If the seat no. is already reserved then it will prompt an error message. And also if the input seat no is out of range then it will also prompt an error message. The program is continuously running. Termination of the program will depends on how the programmer will apply. Sample output: Movie Seats Reservation Summary of Seats: Seat 1: Available Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 1 Movie Seats Reservation Summary of Seats: Seat 1: Reserve Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 6 The Seat no. is out of range! Movie Seats Reservation Summary of Seats: Seat 1: Reserve Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 1 The Seat no. is already reserved! Movie Seats Reservation Summary of Seats: Seat 1: Reserve Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 0 GoodBye... Thank You!!!

1850


Write a routine to implement the polymarker function

4398


write a simple calculator c program to perform addition, subtraction, mul and div.

3162


Hi, i have a project that the teacher want a pyramid of numbers in C# or java...when we click a button...the pyramid should be generated in a listbox/or JtextArea...and the pyramid should have the folowing form: 1 232 34543 4567654 567898765 67890109876 7890123210987 890123454321098 90123456765432109 0123456789876543210 Plz help with codes...didn't find anything on the net.

2698


Develop a routine to reflect an object about an arbitrarily selected plane

3012