复杂结构的创建与使用
在编程中,我们常常需要处理复杂的数据结构,以满足不同的需求。本文将详细介绍如何创建和使用更复杂的结构,以实现一个完整的纸牌发牌程序。
1. 结构的复用与操作
我们可以复用已有的函数来操作子结构。例如,使用 InitializeCard()
函数初始化纸牌:
Card* pCard = &h1.card5;
InitializeCard( pCard , eClub , eAce , kNotWildCard );
通过直接使用指向子结构的指针,我们可以像操作独立结构一样操作子结构。
2. 手牌结构的操作
我们定义了一个 Hand
结构,并创建了一系列函数来操作它:
- InitializeHand()
:将手牌结构的初始值设置为有效状态。
- AddCardToHand()
:将一张牌从牌堆添加到手中。
- PrintHand()
:打印手牌内容。
- GetCardInHand()
:获取手牌中特定纸牌的指针。
以下是这些函数的原型:
void InitializeHand(Hand* pHand );
void AddCardToHand( Hand* pHand , Card* pCard );
voi