I just realized that in a while loop, when I create a pointer of a structure, the pointer seems undefined when the loop is over. I am not sure if there is such a thing as Pointers created in while loops cannot be used outside of it. Here is a part of my code:
if('D'==Status) //depature
{
while(Top(T)->CarLicense != CarLin) {
struct CarNode * tmp;
tmp = Top(S);
Push(TopAndPop(S), T);
tmp->Movement++;
}
printf("Moved %d, bye!\n",tmp->Movement);
DisposeCar(TopAndPop(T));
while(!(IsEmpty(T))) {
struct CarNode * tmp2;
tmp2 = Top(T);
Push(TopAndPop(T),S);
}
}
Here, in printf("Moved %d, bye!\n",tmp->Movement);
, tmp
seems undefined.