我在C中有4位魔术师和1位恶魔之间的格斗游戏。

它们每个都有3个属性:


名称
PV(生命点)
下午(魔术点)


我不得不为魔术师和恶魔创建一个结构,所以我写道:

struct Magician{

      char name_magician[20];
      int pm;
      int pv;

};

struct Demon{

  char name_demon[20];
  int pv;
  int pm;

};


typedef struct Magician magician;

typedef struct Demon demon;


现在:

如何创建创建恶魔的函数?

并创建一组4位魔术师的功能?

我在主要功能中尝试的基本上很简单:

demon d1;
d1.name_demon="demonx123";
d1.pv=15;
d1.pm=20;

最佳答案

从函数返回单个结构很容易:您可以像其他任何返回值的函数一样进行操作:

demon create_demon(void)
{
    demon d;
    // Initialize the demon

    return d;
}


返回多个结构的数组要困难一些,但是就像返回单个结构与返回任何值一样,返回结构数组与返回任何其他值的数组完全一样。这可以通过在堆上分配并返回指针来完成。或通过将指向第一个元素的指针作为函数的参数传递。

关于c - 在C中返回结构的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48597155/

10-10 13:40