// Demonstrates structs and union types
// Compile: gcc union2.c
// Execute: a.out
//
int main(){
// Declare a struct, comparable to a record
// varData is a union which has 4 names for the same field
struct transaction
{
int amount;
union
{
int discount;
int checkNumber;
char cardNumber[6];
char expireDate[6];
} varData;
};
struct transaction myTrans;
myTrans.amount = 3;
printf("%d\n", myTrans.amount); // 3
myTrans.varData.discount = 1;
myTrans.varData.checkNumber = 100;
printf("%d\n", myTrans.varData.discount); // ???
}