搞CH438(8串口芯片),我定义了一个用于存放数据的结构体数组CH438Buf[],和一个用于访问结构体数组的指针*Pbuf,成员是[数据字节数]和[数据缓冲区]
struct
{unsigned char length;
unsigned char Payload[128];
}CH438Buf[8],*Pbuf;
现在使用指针访问结构体数组内的Payload数据,只能用pBuf->Payload[]的形式,这等同数组方式,会导致访问效率问题吧(计算数组下标),如何在结构体指针内使用指针能和普通指针一样可以用++或者--操作呢.,
我试过定义一个这样的结构指针
typedef struct //Message
{unsigned char cu;
unsigned char *Payload;
}*Data_Buff;
static Data_Buff pBuf; //声明指针
pBuf=(void)&CH438Buf[1]//指针初始化,结构数组(第二组)地址赋值给指针
按如上定义后,用*pBuf->Payload++可以编译通过,这会是什么鬼效果。 |