30 Union Programs
30 Union Programs
union MyUnion {
int i;
float f;
char c;
};
int main() {
union MyUnion u;
u.i = 42;
printf("Value of i: %d\n", u.i);
u.f = 3.14;
printf("Value of f: %f\n", u.f);
u.c = 'A';
printf("Value of c: %c\n", u.c);
return 0;
}
struct Employee {
char name[30];
union {
int employeeID;
float salary;
} info;
};
int main() {
struct Employee emp;
strcpy(emp.name, "John");
emp.info.employeeID = 101;
printf("Name: %s, Employee ID: %d\n", emp.name, emp.info.employeeID);
emp.info.salary = 50000.0;
printf("Name: %s, Salary: %.2f\n", emp.name, emp.info.salary);
return 0;
}
union MyUnion {
int i;
float f;
char c;
};
int main() {
union MyUnion u;
u.i = 42;
printUnion(u);
return 0;
}
return 0;
}
#include <stdio.h>
enum DataType {
INT,
FLOAT,
CHAR
};
union MyUnion {
int i;
float f;
char c;
enum DataType type;
};
int main() {
union MyUnion u;
u.type = FLOAT;
switch (u.type) {
case INT:
u.i = 42;
printf("Value of i: %d\n", u.i);
break;
case FLOAT:
u.f = 3.14;
printf("Value of f: %f\n", u.f);
break;
case CHAR:
u.c = 'A';
printf("Value of c: %c\n", u.c);
break;
}
return 0;
}
7. Union Array
#include <stdio.h>
union Number {
int integer;
float floating;
};
int main() {
union Number numbers[5];
for (int i = 0; i < 5; i++) {
numbers[i].integer = i;
printf("Integer: %d, Float: %f\n", numbers[i].integer,
numbers[i].floating);
}
return 0;
}
9. Union Typedef
#include <stdio.h>
typedef union {
int i;
float f;
char c;
} MyUnion;
int main() {
MyUnion u;
u.i = 42;
printf("Value of i: %d\n", u.i);
u.f = 3.14;
printf("Value of f: %f\n", u.f);
u.c = 'A';
printf("Value of c: %c\n", u.c);
return 0;
}
union Color {
unsigned int rgba;
struct {
unsigned char r;
unsigned char g;
unsigned char b;
unsigned char a;
} components;
};
int main() {
union Color red;
red.components.r = 255;
red.components.g = 0;
red.components.b = 0;
red.components.a = 255;
return 0;
}
union Temperature {
float celsius;
float fahrenheit;
};
int main() {
union Temperature temp;
temp.celsius = 25.0;
printf("25°C in Celsius: %.2f\n", temp.celsius);
return 0;
}
union Time {
unsigned int total_seconds;
struct {
unsigned int hours;
unsigned int minutes;
unsigned int seconds;
} components;
};
int main() {
union Time t;
t.components.hours = 2;
t.components.minutes = 30;
t.components.seconds = 45;
return 0;
}
struct Complex {
union {
float real;
float imaginary;
} parts[2];
};
int main() {
struct Complex c;
c.parts[0].real = 2.0;
c.parts[1].imaginary = -3.0;
return 0;
}
16. Union for Date Representation
#include <stdio.h>
union Date {
unsigned int packed_date;
struct {
unsigned int day : 5;
unsigned int month : 4;
unsigned int year : 12;
} components;
};
int main() {
union Date d;
d.components.day = 25;
d.components.month = 9;
d.components.year = 2023;
union Storage {
unsigned long long bits;
struct {
unsigned long long gigabytes : 10;
unsigned long long megabytes : 10;
unsigned long long kilobytes : 10;
unsigned long long bytes : 34;
} components;
};
int main() {
union Storage s;
s.components.gigabytes = 2;
s.components.megabytes = 512;
s.components.kilobytes = 2048;
s.components.bytes = 1234567890;
return 0;
}
union IPAddress {
unsigned int ipv4;
unsigned char bytes[4];
};
int main() {
union IPAddress ip;
ip.bytes[0] = 192;
ip.bytes[1] = 168;
ip.bytes[2] = 1;
ip.bytes[3] = 100;
return 0;
}
int main() {
union StudentInfo student;
strcpy(student.name, "Alice");
printf("Name: %s\n", student.name);
student.details.age = 20;
student.details.gpa = 3.75;
printf("Age: %d, GPA: %.2f\n", student.details.age,
student.details.gpa);
return 0;
}
union LanguageChoice {
int option;
char lang[20];
};
int main() {
union LanguageChoice lc;
lc.option = 1;
if (lc.option == 1) {
strcpy(lc.lang, "English");
} else if (lc.option == 2) {
strcpy(lc.lang, "Spanish");
} else {
strcpy(lc.lang, "Unknown");
}
return 0;
}
#include <stdio.h>
union Temperature {
float celsius;
float fahrenheit;
float kelvin;
};
int main() {
union Temperature temp;
temp.celsius = 25.0;
printf("Temperature in Celsius: %.2f°C\n", temp.celsius);
return 0;
}
22. Union for Vehicle Information (Car, Bike)
#include <stdio.h>
union Vehicle {
struct {
char make[20];
int year;
} car;
struct {
char brand[20];
int year;
} bike;
};
int main() {
union Vehicle v;
strcpy(v.car.make, "Toyota");
v.car.year = 2023;
printf("Car: %s, Year: %d\n", v.car.make, v.car.year);
strcpy(v.bike.brand, "Trek");
v.bike.year = 2022;
printf("Bike: %s, Year: %d\n", v.bike.brand, v.bike.year);
return 0;
}
int main() {
union TrackInfo track;
strcpy(track.song.title, "Imagine");
strcpy(track.song.artist, "John Lennon");
track.song.duration = 180;
printf("Song: %s by %s, Duration: %d seconds\n", track.song.title,
track.song.artist, track.song.duration);
return 0;
}
union Coordinates {
struct {
float latitude;
float longitude;
} point;
};
int main() {
union Coordinates loc;
loc.point.latitude = 34.0522;
loc.point.longitude = -118.2437;
printf("Latitude: %.4f, Longitude: %.4f\n", loc.point.latitude,
loc.point.longitude);
return 0;
}
#include <stdio.h>
#include<string.h>
union EmployeeInfo {
struct {
char name[50];
int employeeID;
float salary;
} fullTime;
struct {
char name[50];
int employeeID;
int hoursWorked;
} partTime;
};
int main() {
union EmployeeInfo emp;
strcpy(emp.fullTime.name, "John Doe");
emp.fullTime.employeeID = 101;
emp.fullTime.salary = 50000.0;
printf("Full-time Employee: %s, ID: %d, Salary: $%.2f\n",
emp.fullTime.name, emp.fullTime.employeeID, emp.fullTime.salary);
union AuthInfo {
char username[50];
char email[50];
};
int main() {
union AuthInfo user;
strcpy(user.username, "john_doe");
printf("Username: %s\n", user.username);
strcpy(user.email, "[email protected]");
printf("Email: %s\n", user.email);
return 0;
}
#include <stdio.h>
union Shape {
struct {
float radius;
} circle;
struct {
float length;
float width;
} rectangle;
};
int main() {
union Shape s;
s.circle.radius = 5.0;
printf("Circle Area: %.2f\n", 3.14 * s.circle.radius *
s.circle.radius);
s.rectangle.length = 4.0;
s.rectangle.width = 6.0;
printf("Rectangle Area: %.2f\n", s.rectangle.length *
s.rectangle.width);
return 0;
}
union Book {
struct {
char title[50];
char author[30];
} fiction;
struct {
char title[50];
char subject[30];
} nonfiction;
};
int main() {
union Book b;
strcpy(b.fiction.title, "The Great Gatsby");
strcpy(b.fiction.author, "F. Scott Fitzgerald");
printf("Fiction Book: %s by %s\n", b.fiction.title, b.fiction.author);
strcpy(b.nonfiction.title, "The Selfish Gene");
strcpy(b.nonfiction.subject, "Biology");
printf("Non-fiction Book: %s (Subject: %s)\n", b.nonfiction.title,
b.nonfiction.subject);
return 0;
}
union Color {
struct {
unsigned char red;
unsigned char green;
unsigned char blue;
} rgb;
unsigned int hex;
};
int main() {
union Color c;
c.rgb.red = 255;
c.rgb.green = 0;
c.rgb.blue = 0;
printf("RGB: (%d, %d, %d)\n", c.rgb.red, c.rgb.green, c.rgb.blue);
return 0;
}
int main() {
union Currency money;
money.usd = 100.0;
printf("USD: $%.2f\n", money.usd);
return 0;
}