创建一个数组,其中每个元素都由结构填充(在 C 中)



我必须创建一个井字游戏。我为游戏板创建了一个二维数组,其中元素从 1 到 9,在游戏过程中,它们可以被"X"或"O"更改。但是,我的指令告诉我,我必须做一个在每个元素中都填充一个结构的数组。我想知道我怎样才能做到这一点。编辑:如何实现将每个结构放入数组中,这是我不太理解的部分。

这是我教授的指示:"要创建这个游戏,您必须使用一个数组,其中每个元素都是游戏板的一个元素,并且每个元素中都应该有一个具有属性"标记"和"符号"的结构,以验证该元素是否为空,如果不是,则为放置或将要放置的棋子">

我之前做过一个结构,其中包含九个属性,如下所示:

struct Sitio {
char a1, a2, a3, b1, b2, b3, c1, c2, c3;
};
struct Sitio valor = {0};
void Valores() {
valor.a1 = '1';
valor.a2 = '2';
valor.a3 = '3';
valor.b1 = '4';
valor.b2 = '5';
valor.b3 = '6';
valor.c1 = '7';
valor.c2 = '8';
valor.c3 = '9';
}
char *num[3][3] = {
{&valor.a1, &valor.a2, &valor.a3},
{&valor.b1, &valor.b2, &valor.b3},
{&valor.c1, &valor.c2, &valor.c3}
};

它没有错误,但我的说明告诉我应该为每个结构做一个结构,并且每个结构都有我之前提到的两个属性。

据我了解,您的结构应该具有属性"mark",它将说明此元素是否为空,以及另一个属性"symbol",如果有的话,它将包含符号。

这是它应该的方式:

struct element {
int mark;
char symbol;
};

其中mark可以是 0(如果元素为空)和 1(如果它包含符号)。 您可以声明一个结构数组,如下所示:

struct element arr[9];

我无法帮助您编写项目,因为这是您的任务,这将非常特定于您的情况,并且不会为其他人提供其他帮助。 我要求您阅读有关 C 中结构的更多信息。

最新更新