Union

ஒன்றுக்கும் மேற்பட்ட, வெவ்வேறு விதமான data-type value-வை, ஒரே variable-லில் சேமிப்பதே Union என்று அழைக்கபடுகிறது. array definition-ஐ சற்று நினைவுபடுத்தி பாருங்கள். ஒன்றுக்கு மேற்பட்ட ஒரேவிதமான data வை ஒரே variable-லில் store செய்வது array. ஆனால் union-ல் ஒரேமாதிரியாகவும் store செய்துகொள்ளலாம், வெவ்வேறு விதமான data-வையும் store செய்துகொள்ளலாம். இதை உருவாக்க union என்ற keyword பயன்படுத்தபடுகிறது.

Syntax for create Union

union union_name{
int variable_name;
float variable_name;
char variable_name;
double variable_name;
.....etc,

};

// Example store a book information
union book{
int pages;
char book_name[10];
char author[20];
float price;
};

Explanation
union - keyword
book - union name
pages, book_name,author,price these are all union members.

Note: union main function-க்கு முன்பாகவே create செய்யவேண்டும். அதேபோல் union முடியும்போது ";" இடுவது மிகவும் அவசியமானது. அதேபோல் ஒரு union member-ஐ பயன்படுத்த வேண்டுமெனில், union variable-லின் உதவி இன்றி அதை access செய்யமுடியாது.

Syntax union variable

இரண்டு வழிகளில் union variable-ஐ create செய்யலாம்.


// Example1
union book b1,b2;

// Exmaple2
union book{
int pages;
char book_name[10];
char author[20];
float price;
}b1,b2; // b1,b2 are union variable

//பயன்படுத்தும் முறை
b1.pages,b1.book_name,b1.author,b1.price

Example

#include<stdio.h>
#include<conio.h>
union student{
int id;
char name[20];
int mark1,mark2,mark3;
int total;
float avg;
};

int main(){
	union student b; // union variable
	printf("\nEnter the student details");
	scanf("%d %s %d %d %d",&b.id,b.name, &b.mark1,&b.mark2,&b.mark3);
	b.total=b.mark1+b.mark2+b.mark3;
	b.avg=(float)b.total/3;
	printf("\n The student details are:");
	printf("\n %d %s %d %f", b.id, b.name, b.total, b.avg);
return 0;
}

Output:

1
Priscilla
98
87
79
The student details are:
1 Priscilla 264 88.0000

Comments