Now that we have an array of 52 cards, how do we access, say, the fourth card?
We can do so with the following declaration:
Card aCard = deck[ 3 ];
Here, we've declared a new card variable (a structure)—aCard—and assigned (copied) the structure from the fourth element of deck to it. We now have two copies of the same structure with each member copied in each. If we make any modifications to aCard, they are not made to deck[3] because we are operating on a different structure address than that found at deck[3].
To modify the elements of the structure in the fourth array element directly, we use dot (.) notation, as follows:
deck[3].suit= spade;
deck[3].suitValue = (int)spade;
deck[3].face= five;
deck[3].faceValue = (int)five;
deck[3].isWild= kNotWildCard;
Because of operator precedence, deck[3] is evaluated first, which gives us a structure. The dot (.) notation is then evaluated...