首页 > 解决方案 > memcpy 将结构的本地数组复制到结构的本地数组中

问题描述

在 C 语言中,我想将 1 个本地结构数组复制到其他本地结构数组中。下面的示例代码示例。在这种情况下,使用 memcpy() 的正确方法是什么?

'#define CAPACITY 5

int main(void)

{

typedef struct Prototype
{
    int value;
} Prototype;

int  i;
Prototype   vProto1[CAPACITY], vProto2[CAPACITY];

for (i=0; i<CAPACITY; i++)
{
    vProto1[i].value = i+1;
}

这里我想将 vProto1 复制到 vProto2 中。下面的命令正确吗?

memcpy(vProto2, vProto1, sizeof(Prototype) * CAPACITY);

或者这是正确的?

memcpy(&vProto2, &vProto1, sizeof(Prototype) * CAPACITY);

提前致谢。我很困惑是否应该使用“&”。

标签: memcpy

解决方案


推荐阅读