指针 数组 数据转换有关问题

指针 数组 数据转换问题
我定义了一个结构体,用结构体定义了一个指针。

指针里面有100个字节的数据,指针已经指向该数据。

我现在想20个字节 20个字节的取出来 放入5个数组中去。


具体该怎么实现呢。。


我用的 类似于

unsigned char i = 0;
unsigned char sz[25] = {0x00};
for (i=0;i<20;i++)
{
   sz[i] = *p++;
}



但是编译会有问题,类似于指针是指向结构体,不能这么操作吗?

求大神解释。
------解决思路----------------------
unsigned char sz[5][20],*p;
p=(unsigned char *)pMyStruct;
for (i=0;i<5;i++)
{
 memcpy((void *)&sz[i][0],(void *)((unsigned char *)p+i*20),20);
}