我試圖讓C中的數組的深層副本(originalBoard爲複製):在C ... malloc中深度複製數組?
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]));
btw這是一個9x9二維數組。語法是什麼(編譯器給出上述行的錯誤...)?
memcopy是他們走的路。我編輯了你的答案,因爲它需要sizeof(g.originalBoard),而不是g.board。我在這裏跳過了malloc函數,因爲我事先在一個結構中聲明瞭數組 – Live2Enjoy7
@ Live2Enjoy7,因爲這是需要被複制的'g.board'。 – Rohan