Language: C

#include<stdio.h>
#include<memory.h>
#include<stdlib.h>

struct Stack
{
	int data[100];
	int p;
};

Stack stk;

void push(int n)
{
	stk.p++;
	stk.data[stk.p] = n;
}

int pop()
{
	int d = stk.data[stk.p];
	stk.p--;
	return d;
}

bool isStackFull()
{
	if (stk.p == sizeof(stk.data) - 1)
	{
		return true;
	}
	return false;
}

bool isStackEmpty()
{
	if (stk.p == 0)
	{
		return true;
	}
	return false;
}

void initialize()
{
	stk.p = 0;
	memset(stk.data, 0, sizeof(stk.data));
}

int main()
{
	initialize();

	char item[100];
	int op1, op2;
	while (scanf("%s", item) != EOF)
	{
		switch (item[0])
		{
		case '+':
			op1 = pop();
			op2 = pop();
			push(op2 + op1);
			break;

		case '-':
			op1 = pop();
			op2 = pop();
			push(op2 - op1);
			break;

		case '*':
			op1 = pop();
			op2 = pop();
			push(op2 * op1);
			break;

		default:
			push(atoi(item));
			break;
		}
	}
	printf("%d\n", pop());

	return 0;
}

Compiler output:
main.c:11:1: error: unknown type name 'Stack'; use 'struct' keyword to refer to the type
   11 | Stack stk;
      | ^~~~~
      | struct 
main.c: In function 'push':
main.c:15:12: error: request for member 'p' in something not a structure or union
   15 |         stk.p++;
      |            ^
main.c:16:12: error: request for member 'data' in something not a structure or union
   16 |         stk.data[stk.p] = n;
      |            ^
main.c:16:21: error: request for member 'p' in something not a structure or union
   16 |         stk.data[stk.p] = n;
      |                     ^
main.c: In function 'pop':
main.c:21:20: error: request for member 'data' in something not a structure or union
   21 |         int d = stk.data[stk.p];
      |                    ^
main.c:21:29: error: request for member 'p' in something not a structure or union
   21 |         int d = stk.data[stk.p];
      |                             ^
main.c:22:12: error: request for member 'p' in something not a structure or union
   22 |         stk.p--;
      |            ^
main.c: At top level:
main.c:26:1: error: unknown type name 'bool'
   26 | bool isStackFull()
      | ^~~~
main.c:4:1: note: 'bool' is defined in header '<stdbool.h>'; this is probably fixable by adding '#include <stdbool.h>'
    3 | #include<stdlib.h>
  +++ |+#include <stdbool.h>
    4 | 
main.c: In function 'isStackFull':
main.c:28:16: error: request for member 'p' in something not a structure or union
   28 |         if (stk.p == sizeof(stk.data) - 1)
      |                ^
main.c:28:32: error: request for member 'data' in something not a structure or union
   28 |         if (stk.p == sizeof(stk.data) - 1)
      |                                ^
main.c:30:24: error: 'true' undeclared (first use in this function)
   30 |                 return true;
      |                        ^~~~
main.c:30:24: note: 'true' is defined in header '<stdbool.h>'; this is probably fixable by adding '#include <stdbool.h>'
main.c:30:24: note: each undeclared identifier is reported only once for each function it appears in
main.c:32:16: error: 'false' undeclared (first use in this function)
   32 |         return false;
      |                ^~~~~
main.c:32:16: note: 'false' is defined in header '<stdbool.h>'; this is probably fixable by adding '#include <stdbool.h>'
main.c: At top level:
main.c:35:1: error: unknown type name 'bool'
   35 | bool isStackEmpty()
      | ^~~~
main.c:35:1: note: 'bool' is defined in header '<stdbool.h>'; this is probably fixable by adding '#include <stdbool.h>'
main.c: In function 'isStackEmpty':
main.c:37:16: error: request for member 'p' in something not a structure or union
   37 |         if (stk.p == 0)
      |                ^
main.c:39:24: error: 'true' undeclared (first use in this function)
   39 |                 return true;
      |                        ^~~~
main.c:39:24: note: 'true' is defined in header '<stdbool.h>'; this is probably fixable by adding '#include <stdbool.h>'
main.c:41:16: error: 'false' undeclared (first use in this function)
   41 |         return false;
      |                ^~~~~
main.c:41:16: note: 'false' is defined in header '<stdbool.h>'; this is probably fixable by adding '#include <stdbool.h>'
main.c: In function 'initialize':
main.c:46:12: error: request for member 'p' in something not a structure or union
   46 |         stk.p = 0;
      |            ^
main.c:47:19: error: request for member 'data' in something not a structure or union
   47 |         memset(stk.data, 0, sizeof(stk.data));
      |                   ^
main.c:47:39: error: request for member 'data' in something not a structure or union
   47 |         memset(stk.data, 0, sizeof(stk.data));
      |                                       ^