malloc(xx)
爆板流 2013-01-22 09:47:25 一下两个定义有何区别??
int len = 1000;
1.
unsigned char *Y_DATA;
unsigned char *YY_DATA;
unsigned char *YYY_DATA;
Y_DATA = (unsigned char *)malloc(len);
YY_DATA = (unsigned char *)malloc(len/4);
YYY_DATA = (unsigned char *)malloc(len/4);
2.
unsigned char Y_DATA[3];
Y_DATA[0] = (unsigned char *)malloc(len);
Y_DATA[1] = (unsigned char *)malloc(len/4);
Y_DATA[2] = (unsigned char *)malloc(len/4);
第二中情况,是不是相当于连续的?比如说我要使用这一组数据的时候,直接利用void *memcpy(void *dest, const void *src, size_t n);
来复制Y_DATA[]总的所有内容是不是只要:memcpy(dest,&Y_DATA[0],len*3/2)就可以了?
而第一种需要三个都cpy一次··,是吗?