授業の課題で出たのですが,LIFO(Last In First Out)
がどうしてもわかりません

#include<stdio.h>
struct node{
int key;
struct node *next;
};
struct node TOP;
void pu;sh (int num)
struct node *n;
n= (struct node *)malloc(sizeof *n);
n->next = TOP.next
TOP.next =n;
}
int pop()
{
作成
}
main()
{
TOP.next=NULL;
pushとpopが正常な動作をしているか確かめられる
プログラムを作成
}

popとmainがわかりません.お願いします