CoolInterview.com - World's Largest Collection of Interview Questions
Send Free SMS
 Interview Questions  
 Our Services  


INTERVIEW QUESTIONS LANGUAGES C DETAILS
Question :
union u1
{
int i;
char c;
}u2;
u2.i=32767;
u2.c='a';
now the i value gets replaced.
If we want to know the data that is saved in the union..internally, without knowing what values that we are using in the prog.

that is if just want to know whether a union currently holds an int or a char? If it is a combination of both int and char..we must know even that. and the memory locations at which this data is stored?



Category C Interview Questions
Rating (0.0) By 0 users
Added on 7/18/2006
Views 643
Rate it!
Answers:

enum with_tag {int_tag, char_tag};



struct with_tag{

enum with_tag tag;

union {

int i;

char c;

} twoUnion;

} sampleStruct;



So, when assigning new int values:



sampleStruct.tag = int_tag;

sampleStruct.twoUnion.i = 3;



when assigning new char vaules:



sampleStruct.tag = char_tag;

sampleStruct.twoUnion.c = 'C';



So, later, you can know what kind of data is assigned to union by checking tag's vaule.





If you have the better answer, then send it to us. We will display your answer after the approval.
Name :*
Email Id :*
Answer :*
Verification Code Code Image - Please contact webmaster if you have problems seeing this image code Not readable? Load New Code
Process Verification  Enter the above shown code:*
Inform me about updated answers to this question

   
Related Questions
View Answer
When function say abc() calls another function say xyz(), what happens in stack?

View Answer
How to remove duplicate elements from an array

View Answer
main(int x).............

explaination on arguments passed thr' main

View Answer
How do you write a C program which can calculate lines of code but not counting comments?

View Answer
How to swap the content of two variables without a temporary variable

View Answer
Output of this Programme please??

main()
{

int a[]={2,4,6,8,10};
int i;
change(a,5);
for(int i=0;i<=4;i++)
printf(" %d", a[i]);
}

change(int *b,int n)
{

int i;
for(i=0;i *(b+i) = *(b+i)+5;
}

sytaxis correct?? was asked i a test


View Answer
Can we use string in switch statement?

View Answer
How can you calculate number of nodes in a circular Linked List?

View Answer
What is a NULL Macro? What is the difference between a NULL Pointer and a NULL Macro?

View Answer
Where are the auto variables stored? What is the use of register variables?

View Answer

Please Note: We keep on updating better answers to this site. Subscribe to our newsletter to get notified when better answer is posted.

Notify me when better answer is posted!
Email:

View ALL C Interview Questions

User Options
Sponsored Links


Copyright ©2003-2010 CoolInterview.com, All Rights Reserved.
Privacy Policy | Terms and Conditions
Page URL: http://www.coolinterview.com/interview/5965/default.asp?cachecommand=bypass


Download Yahoo Messenger | Placement Papers| FREE SMS | ASP .Net Tutorial | Web Hosting | Free SMS | Dedicated Servers | Joke of the Day

0.64