我不明白为什么数组 t1 是空的。据我所知, memcpy 不应该关心对象的底层类型。你怎么看?%)
cout << sizeof(float) << sizeof(int) << endl;
float *t1= (float *)malloc(20*sizeof(float));
memset(t1,0x00,20*sizeof(float));
int *t2= (int *)malloc(20*sizeof(int));
for (int i=0; i<20; i++)
t2[i]=i;
memcpy(t1,t2,20*sizeof(int));
for (int i=0; i<20; i++)
printf("%f\t", (float)t1[i]);
我知道类型转换是什么意思。好的,我犯了一些小错误。这是粗心!
PS 这是了解 memcpy 工作原理的示例!