C++中数组与指针 小程序 看看是那里错了?解决方案

C++中数组与指针 小程序 看看是那里错了?unsignedcharxianshidata[16*6]{0x02,0x13,0x00,0x10,0x00,0x41,

C++中数组与指针 小程序 看看是那里错了?
unsigned   char     xianshidata[16*6]   =  
                              {0x02,0x13,0x00,0x10,0x00,0x41,
                                0x00,0xF8,0x04,0x90,0x00,0x10,
                                0x02,0x30,0xFF,0x10,0x04,0x42,
                                0x00,0x40,0xFE,0x90,0x08,0x10,
                                0x02,0x50,0x00,0x1F,0x42,0x44,
                                0x04,0x40,0x10,0x90,0x08,0x10,
                                0xFF,0x90,0x00,0x10,0x43,0x48,
                                0xFE,0x40,0x90,0x90,0x08,0x20,
                                0x04,0x10,0x1F,0x00,0x41,0x50,
                                0x00,0x40,0xD0,0x10,0x08,0x30,
                                0x04,0x10,0x10,0x00,0x40,0x60,
                                0x40,0x44,0x90,0x10,0x08,0x48,
                                0x08,0x17,0x10,0x00,0x40,0x01,
                                0x40,0xFE,0x90,0x50,0x08,0x84,
                                0x08,0x10,0x10,0x00,0x40,0x06,
                                0x50,0x00,0x90,0x20,0x08,0x04
                              };//

                                           
  unsigned   char   dis_buffer[16*6];
  unsigned   char   *p1,*shouzhi;
  int   aa,bb;

main()
{
shouzhi=&xianshidata[0*0];
p1=shouzhi;    
    for(aa=0;aa <16;aa++)
            {         for(bb=0;bb <6;bb++)
                            {   dis_buffer[aa*bb]=*(p1+aa*6+bb);
                                }
            }
}
老是搞不清楚指针的用法,我想把xianshidata[16*6]赋给dis_buffer[16*6],该怎么变程序啊。以上我自己编的那个调试的时候发现dis_buffer[16*6]的每一位都是零,错在哪里?怎么改

[解决办法]
两个都是一维数组,就别用双重循环:
for (int i=0;i <16*6;++i)


dis_buffer[i]=xianshidata[i];
[解决办法]
你这是一维数组,这样就可以了
main()
{
shouzhi=&xianshidata[0*0];
p1=shouzhi;
for(aa=0;aa <16*6;aa++)
{
dis_buffer[aa]=*(p1+aa);

}
}

[解决办法]
为了保持与2维数组相同的习惯,你可以这样:
for(int a=0;a <16;++a)
for(int b=0;b <6;++b)
dis_buffer[a*16+b] = xianshidata[a*16+b];