struct item_CHECK_LIST_data
{
char list[MAX_CHECK_LIST_OPTIONS + 1][MAX_ITEM_TEXT_LEN];
char checkeditems[MAX_CHECK_LIST_OPTIONS + 1];//which are checked
char number_of_options;
};
我可以用 memcopy 复制这个吗?
我有一个奇怪的错误,可以解释为 memcopy 无法...
最佳答案
是的,你可以memcpy
C 中的二维数组,前提是它们实际上是二维数组而不是一维指针数组。二维数组在内存中连续布局,所以 memcpy
将正确读取所有 block 。但是,如果您的数组是指向更多一维数组的指针的一维数组,则 memcpy
只会复制指针,你最终会得到一个浅拷贝而不是深拷贝。
关于c - memcpy 和二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4930032/