我如何(深)复制C中的数组?

nub*_*ela 3 c

参考http://www.devx.com/tips/Tip/13291,它说我可以使用memcpy大小来复制确定的sizeof(),但是,指向指针的数组是不是?

除了遍历数组之外,我如何使用memcpy深度复制数组?

谢谢!

sta*_*ker 8

在链接的示例中,int weekly_hours[5][5]; 为25个整数分配空间.没有进一步的间接,因此您可以安全地使用memcpy来复制它的值.


for*_*ran 6

连续分配多维数组.一个指针数组(指针......)是一个不同的东西(每个子指针应该自己分配/复制/释放).

不要因为在大多数情况下可以互换使用一维数组和单个指针这一事实而感到困惑,因为它们在技术上并不相同.