// 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); // ??? }