我创建了一个结构项:
typedef struct item
{
char name[20];
char desc[100];
int lp;
int shield;
int weapon;
} item;
我需要 36 个,因此我创建了一个数组 item Treasure[6][6];
对于每个项目,我按如下方式插入数据:
strcpy(treasure[0][0].name, "name");
strcpy(treasure[0][0].desc, "none");
treasure[0][0].lp = 0;
treasure[0][0].shield = 0;
treasure[0][0].weapon = 200;
我这样做了 36 次,并在编辑器中占用了大量空间,我的问题:我可以将其放在单独的 .c/.h 文件中吗?我一直在努力,但无法使其发挥作用。
感谢您的帮助!
最佳答案
我建议使用一个文件,例如 init.h 并包含以下内容
#include <string.h>
typedef struct item {
char name[20];
char desc[100];
int lp;
int shield;
int weapon;
} item;
item treasure[1][1] = {
{{.name = "name", .desc = "none", .lp = 0, .shield = 0, .weapon = 200}}};
这样,您必须能够在另一个文件中初始化矩阵 6, 6 的结构,然后您必须能够从 main 程序中访问它,如下所示:
#include "init.h"
#include <stdio.h>
int main() {
printf("%s\n", treasure[0][0].name);
return 0;
}
我希望这对你有用,还有另一种方法来初始化结构,但这是我更常用的方法。您可以在这里找到更多信息 https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html
关于c - 在 C 中的单独文件中包含变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42105296/