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

}