c语言定义结构体指针
int main()
{
typedef struct
{
u8 KeyCurrentIndex;//当前状态索引号
u8 KeyEnterState;//按下【enter】键时转向的索引号
u8 KeyCancelState;//按下【cancel】键时转向的索引号
u8 KeyUpState;//按下【up】键时转向的索引号
u8 KeyDownState;//按下【down】键时转向的索引号
void (*CurrentOperate)(); //当前状态下执行的功能操作
}KbdTabStruct;
const KbdTabStruct KBD[]=
{
{0,1,2,3,4,(*main)},
{6,7,8,9,10,11},
{0,1,2,3,4,5},
{0,1,2,3,4,5},
};
const KbdTabStruct KBD1=
{
20,27,38,39,40,51,
};
KbdTabStruct *ptr=&KBD[1];//定义指向结构体的指针变量 ptr 并赋初值KBD
KbdTabStruct *pr=&KBD1;//定义指向结构体的指针变量 pr 赋初值KBD1
printf("%d\r\n",KBD[0].KeyEnterState);//应是1
printf("%d\r\n",KBD[1].KeyCurrentIndex);//6
printf("%d\r\n",KBD[1].KeyDownState);//10
printf("%d\r\n",ptr->KeyDownState);//10
printf("%d\r\n",(*ptr).KeyDownState);//10
printf("%d\r\n",(*pr).KeyDownState);//40
}