typedef struct tagNode{

char* Data;

struct tagNode* NextNode;

} Node;


typedef struct tagLinkedListStack{

Node* List;

Node* Top;

} LinkedListStack;


라고 정의해놨구요 궁금한부분이 Push함수에서 기존의 Top을 받는 부분인데요


void LLS_Push(tagLinkedListStack* Stack, Node* NewNode){

if(Stack->List==NULL)

Stack->List=NewNode;

else{

Node* OldTop=Stack->List;

while(OldTop->NextNode!=NULL)

OldTop=OldTop->NextNode;

OldTop->NextNode=NewNode;

}

Stack->Top=NewNode;

}


빨간색 부분에서, OldTop=Stack->Top; 라고 하면 안되는건가요? 왜 일일이 올라가야하는지..