这个为什么结构指针能被int 指针赋值

  ElementType Pop( Stack S )  
{ /* 删除并返回堆栈S的栈顶元素 */
   PtrToSNode FirstCell;
   ElementType TopElem;

   if( IsEmpty(S) ) {
      printf("堆栈空"); 
      return ERROR;
}
else {
    FirstCell = S->Next; 
    TopElem = FirstCell->Data;
    S->Next = FirstCell->Next;
    free(FirstCell);
    return TopElem;
}

}
这个FirstCell = S->Next; 是对的吗

PtrToSNode FirstCell; 这里定义的就是一个结构体指针 FirstCell ,FirstCell = S->Next; 这句正确。