试试这个
#include <string.h>
#include <stdio.h>
int main()
{
double x[2] = {1., 2.};
double y[4] = {0., 0., 0., 0.};
memcpy(y, x, 2 * sizeof(*x));
/* ^ 2 elements of size -> sizeof(double) */
return 0;
}
Run Code Online (Sandbox Code Playgroud)
而不是写sizeof(double)哪个没问题,我这样做sizeof(*x)是因为如果我改变了类型,x我就不需要修复memcpy,但y在这种情况下我也必须改变类型。