gpt4 book ai didi

c - C 中的深度复制数组... malloc?

转载 作者:行者123 更新时间:2023-11-30 14:23:52 25 4
gpt4 key购买 nike

我正在尝试用 C 语言制作数组的深拷贝(originalBoard 是副本):

int gy, gx;          
for (gy=0; gy<9; gy++)
{
for (gx=0; gx<9; gx++)
{
g.originalBoard[gy][gx]=g.board[gy][gx];
}
}

这似乎不起作用,我猜这只是指向原始板数组的指针。

那么解决方案是尝试使用 malloc 吗?喜欢:

    int* g.originalBoard[9][9]=malloc(sizeof(g.board[9][9]));

顺便说一句,这是一个 9x9 的二维数组。语法是什么(编译器给出上面一行的错误...)?

最佳答案

我认为你需要这个:

 //assuming g.originalBoard is array of array of integers and same for g.board  
int *originalBoard = malloc(sizeof(g.board));
memcpy(originalBoard, g.board, sizeof(g.board));

关于c - C 中的深度复制数组... malloc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12431599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com