This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

why pointer doesn't change in struct?

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;
}

Parents Reply Children