Files
DOAN/OU4/src/int_stack/int_stack_mwe1.c
2025-09-13 14:40:16 +02:00

49 lines
1.1 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <int_stack.h>
/*
* Minimum working example for int_stack.c.
*
* Author: Niclas Borlin (niclas@cs.umu.se)
*
* Version information:
* v1.0 2022-03-24: First public version.
* v1.1 2023-01-14: Added printouts at start/end of main.
*/
#define VERSION "v1.1"
#define VERSION_DATE "2023-01-14"
int main(void)
{
printf("%s, %s %s: Create typed integer stack.\n", __FILE__, VERSION, VERSION_DATE);
printf("Code base version %s (%s).\n\n", CODE_BASE_VERSION, CODE_BASE_RELEASE_DATE);
// Create the stack.
stack s=stack_empty();
for (int i=1; i<=3; i++) {
// Push value on stack.
s = stack_push(s, i);
}
printf("--STACK before popping--\n");
stack_print(s);
// Pop element from stack.
s=stack_pop(s);
printf("--STACK after popping--\n");
stack_print(s);
// Kill stack. Strictly not necessary for int_stack since it
// does not use any dynamic memory. Included for symmetry with
// stack.c.
stack_kill(s);
printf("\nNormal exit.\n\n");
return 0;
}