Stack Push and Pop Operation

Push and Pop Operation in Stack Memory

Stack is the data structure working in the principle LIFO - Last in First Out. The below program written in C is to perform Push and Pop operation in Stack Memory Concept in data structure. Push and Pop operations are used to add data to stack memory and remove data from the stack respectively. If the stack memory is full then the stack is considered to be in overflow state. It is considered to be in Underflow state when performing Pop operation when the stack is empty. This below C program example will let you understand the stack memory operation

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

#define SIZE 50

void push(int i);
int pop(void);

int *tos, *p1, stack[SIZE];

int main(void)
int value;

tos = stack; /* tos points to the top of stack */
p1 = stack; /* initialize p1 */

do {
printf("Enter value: ");
scanf("%d", &value);

if(value != 0) push(value);
else printf("value on top is %d\n", pop());

} while(value != -1);

return 0;

void push(int i)
if(p1 == (tos+SIZE)) {
printf("Stack Overflow.\n");
*p1 = i;

int pop(void)
if(p1 == tos) {
printf("Stack Underflow.\n");
return *(p1+1);

Related Topic Stack Example Java push() pop()
What is OSI Model and its Layers in Communication System
Android SDK Emulator, Dalvik, Debug Bridge
List of Mysql Error Code and Description
array_push() Stack Push Array Elements 2011   Privacy Policy  Terms of Service  Feedback