#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct stackNode{
 int data;
 struct stackNode *link;
}stackNode;
void push(stackNode **top, int data){
 stackNode* temp;
 temp = (stackNode*)malloc(sizeof(stackNode));
 temp->>  temp->link = *top;
 *top = temp;
}
int pop(stackNode **top){
 stackNode* temp;
 int data;
 temp = *top;
 if(temp == NULL){
  printf("Stack is empty\n");
  exit(1);
 }
 else{
  >  *top = temp->link;
  free(temp);
  return data;
 }
}
int main(void){
 stackNode *top = NULL;
 push(&top, 10);
 push(&top, 20);
 push(&top, 30);
 
 printf("%d\n", pop(&top));
 printf("%d\n", pop(&top));
 printf("%d\n", pop(&top));
 
 return 0;
}




스택 공부중인데 push에서 temp->link = *top 하고 *top = temp 해주면 *top의 link부는 *top자기자신을 가르키니까 무한루프 되는거 아니예요?? 이해점 ㅠㅠㅠㅠ