#include "lifo.h" struct foo { int a; float b; int c; float d; }; struct foo bar; struct foo cat; main(int argc, char **argv) { lifo my_lifo; struct foo *foop1, *foop2, *foop3, *foop4; my_lifo = Lnew(); Ladd(my_lifo, &bar); Ladd(my_lifo, &cat); foop1 = Lshow(my_lifo); printf("foop1 = %x\n", foop1); foop2 = Lremove(my_lifo); printf("foop2 = %x\n", foop2); foop3 = Lshow(my_lifo); printf("foop3 = %x\n", foop3); foop4 = Lremove(my_lifo); printf("foop4 = %x\n", foop4); if (foop1 != &cat || foop2 != &cat || foop3 != &bar || foop4 != &bar) printf("error!\n"); else printf("works!\n"); }