diff options
Diffstat (limited to 'misc/examples/stack.c')
| -rw-r--r-- | misc/examples/stack.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/misc/examples/stack.c b/misc/examples/stack.c new file mode 100644 index 00000000..a6a4a492 --- /dev/null +++ b/misc/examples/stack.c @@ -0,0 +1,30 @@ + +#include <stdio.h> + +#define i_tag i +#define i_capacity 100 +#define i_val int +#include <stc/cstack.h> + +#define i_tag c +#define i_val char +#include <stc/cstack.h> + +int main() { + c_auto (cstack_i, stack) + c_auto (cstack_c, chars) + { + c_forrange (i, 101) + cstack_i_push(&stack, i*i); + + printf("%d\n", *cstack_i_top(&stack)); + + c_forrange (i, 90) + cstack_i_pop(&stack); + + c_foreach (i, cstack_i, stack) + printf(" %d", *i.ref); + puts(""); + printf("top: %d\n", *cstack_i_top(&stack)); + } +} |
