2015-10-15 104 views
0

我有两个阵列,ab,两个长度的x字节。我需要使用memcpy复制内存从ab。什么是正确的语法使用,因为memcpy接受两个void*作为它的参数?它是:转换数组指针的memcpy

memcpy(&a[0], &b[0], x); 
+0

您从** b **意味着对** A **? – Michi

+0

在的memcpy()的第一个参数是目标的第一个字节的地址。第二个参数是源的第一个字节的地址。第三个参数是要复制的字节数。注意:您的发布代码从'b'复制到'a',而实际问题是从'a'复制到'b' – user3629249

回答

3

ax字节复制到b,你会说:

memcpy(b, a, x); 

memcpy()获取目标,然后再源。作为参数使用时,和void *参数会接受你扔在他们的任何指针

数组名评估到阵列地址。

memcpy(&b[0], &a[0], x); 

将是等价的,但不必要的冗长。