我在maze.c文件中用字符填充了此数组:
char normalMazeArray [6] [12];动态填充为mazeArray [row] [column]
现在,我想将数组传递给位于我的结构(maze.h)中的mazeArray
我的结构称为:
typedef struct {
char mazeArray;
} maze_t;
我尝试过如下复制:
maze_t* maze;
char normalMazeArray[6][12]; // filled with info
typedef struct {
char mazeArray;
} maze_t;
maze->mazeArray = normalMazeArray;
但是它不起作用,
谁能帮助我?
最佳答案
您尝试做的事情是不可能的。不过,您可以使用两种略有不同的解决方案。normalMazeArray
是char [6][12]
类型-它是一个数组。您可以使用memcpy()
将其内容复制到相同类型的数组中:
typedef struct {
char mazeArray[6][12];
} maze_t;
memcpy(maze->mazeArray, normalMazeArray, sizeof(normalMazeArray));
或者,如果
normalMazeArray
在程序的整个生命周期中都存在,则可以在结构中为其分配一个指针:typedef struct {
char (*mazeArray)[12];
} maze_t;
maze->mazeArray = normalMazeArray;