CopyMemory不同类型数据之间的复制

CopyMemory可以将两个char类型的数据拼接成一个short类型,例如:

char *a=(char*)malloc(10);

short *b=(short*)malloc(20);
a[0]=0;
a[1]=13;
a[2]=0;
a[3]=16;
a[4]=12;
a[5]=14;
a[6]=156;
a[7]=129;
a[8]=222;
a[9]=222;

CopyMemory(b,a,10);

运行后,b[0]=3328;他的结果就是a[1]做前8位,a[0]做后八位的结果,同理

b[1]=4096;

b[2]=3596;

b[3]=-32356;

b[4]=-8482;

而b[5]之后的数据未定义,输出为随机数。

你可能感兴趣的:(C与C++)