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

时间:2019-06-14 21:04:59

标签: c arrays struct

我必须创建一个井字游戏。我为游戏板创建了一个二维数组,其中元素从1变为9,并且在游戏过程中可以用'X'或“ O”进行更改。但是,我的指令告诉我,我必须做一个填充有每个元素中都有一个结构。我想知道如何实现这一点。编辑:如何实现将每个结构放入数组中,这是我不太了解的部分。

这是我教授的指示:“要创建此游戏,您必须使用一个数组,其中每个元素都是游戏板的一个元素,并且在每个元素中都应该有一个结构,其结构具有“ mark”和“符号”,以验证元素是否为空,如果不是,则为已放置或将要放置的那一块。”

我以前曾经用九种属性来完成一个结构:

   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}
   };

哪个工作都没有错误,但是我的指令告诉我,我应该为每个结构创建一个结构,并且每个结构都具有前面提到的两个属性。

1 个答案:

答案 0 :(得分:1)

据我了解,您的结构应具有属性“ mark”(将说明此元素是否为空),以及另一个属性“ symbol”(将包含符号)。

这是应该的样子:

struct element {
    int mark;
    char symbol;
};

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

struct element arr[9];

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