在C中复制数组

时间:2011-02-12 14:10:51

标签: c

这句话有什么问题?它没有正确复制。

memcpy(new_board1, board, sizeof(board));

2 个答案:

答案 0 :(得分:7)

memcpy以指针(目标和源)的形式接受两个内存地址以及要复制的字节数。现在,sizeof不返回指针所指向的内存块的大小,而是返回指针本身的大小 - 在32位操作系统上为4个字节,在64位操作系统上为8个字节。

答案 1 :(得分:3)

sizeof(board)为您指定指针本身的大小,而不是指向它的大小。您应该将其替换为要从board复制到new_board1的实际字节数。在不知道如何宣布boardnew_board1的情况下,我无法帮助您找到该号码。