我有以下代码,我想制作它,以便板现在具有 new_board 的值,反之亦然。由于它们都是指针,我想我可以交换它们指向的地址。当我在 print2() 中打印时,地址被适当地交换了。但是,当我在 print1() 中打印时,地址以某种方式交换回来,这对我来说没有任何意义。此外,如果我在 print2() 处打印出板上的值,它们也是正确的。
main(){
char *new_board = (char *)malloc(sizeof(char) * rows * cols );
char *board = (char *)malloc(sizeof(char) * rows * cols );
update_board2(board, new_board, rows, cols);
print1();
}
void update_board2(char *board, char *new_board, int rows, int cols){
//do a bunch of stuff
char *temp = board;
board = new_board;
new_board = temp;
print2();
}