We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
In below code,I think pointer pexam->pf and pf1 will be same, but why pexam->pf++ can't change? What mistake i make? Can someone will help me. thx!
/////////////////////////// struct tagEXAM { int x; void (**pf)(void); }; void fun1(void); void fun2(void); void (*code pf[])(void)= { fun1,fun2 }; struct tagEXAM code exam[] = { {1, pf} }; int x; void (**pf1)(void); struct tagEXAM* pexam; void main(void) { while (1) { pexam = exam; pf1 = pexam->pf;
(*pexam->pf)(); (*pf1)();
pexam->pf++; pf1++; (*pexam->pf)(); (*pf1)(); } } void fun1(void) { x = 1; } void fun2(void) { x = 2; }
Thanks Davis, it's good comment.