typedef struct
{
int Data;
struct node* Next;
}node;
typedef node* Nptr;
void Push(Nptr Top, int Item);
int Pop(Nptr Top);
void Init(Nptr Top);
bool isEmpty(Nptr Top);
void FreeList(Nptr);
int getTop(Nptr Top);
#include<stdio.h>
#include<stdbool.h>
#include<stdlib.h>
void Init(Nptr Top)
{
Top = NULL;
}
bool IsEmpty(Nptr Top)
{
return (Top == NULL);
}
void Push(Nptr Top, int Item)
{
Nptr Temp = (Nptr)malloc(sizeof(node));
Temp->>
Temp->Next = (Nptr)Top; <-----------------------------------------
Top = Temp;
}
int Pop(Nptr Top)
{
if (Top == NULL)
{
printf("Empty Stack");
return -1;
}
else
{
Nptr Temp = Top;
int Item = Temp->Data;
Top = Top->Next; <-----------------------------------
free(Temp);
return Item;
}
}
void FreeList(Nptr Top)
{
Nptr Temp = Top;
while (Temp != NULL)
{
Top = Top->Next; <--------------------------------
free(Temp);
Temp = Top;
}
}
int getTop(Nptr Top)
{
return Top->Data;
}
main()
{
Nptr mystack = (Nptr)malloc(sizeof(node));
Init(mystack);
Push(mystack, 2);
Push(mystack, 3);
Push(mystack, 4);
printf("Top : %d\n", getTop(mystack));
return 0;
}
화살표 친부분에서 자꾸 'node *'과(와) 'Nptr' 사이의 형식이 호환되지 않습니다. 라고 뜨는데 어떻게 해결하나요?
늦게확인했네요 감사합니다 ! 그대의 지식에감탄을!