#include "stdio.h"
#include "conio.h"
# include "malloc.h"
struct node
{
int data;
struct node *link;
} ;
struct node *top;
void main()
{
void push(int);
void display();
int wish, num,will,a;
wish = 1;
top = NULL;
clrscr();
printf("Program for Stack as Linked List demo..");
while(wish == 1)
{
printf("Main Menu
1.Enter data in stack
2.Delete from stack");
scanf("%d",&will);
switch(will)
{
case 1:
printf("Enter the data");
scanf("%d",&num);
push(num);
display();
break;
case 2:
a=pop();
printf("Value returned from top of the stack is %d",a);
break;
default:
printf("Invalid choice");
}
printf("Do you want to continue, press 1");
scanf("%d",&wish);
}
}
void push(int y)
{
struct node *x;
x=malloc(sizeof(struct node));
printf(" Address of newly created node x is %d",x);
x->data = y;
x->link = top;
top = x;
}
void display()
{
int i =0;
struct node * temp;
temp = top;
while(temp!=NULL)
{
printf("Item No. %d : Data %d Link %d ",i++,temp->data,temp->link);
temp=temp->link;
}
}
/// THIS FUNCTION REMOVES TOP NODE FROM THE STACK AND RETURNS ITS VALUE///
int pop()
{
int a;
if(top==NULL)
{
printf("STACK EMPTY...");
return 0;
}
else
{
a=top->data;
printf("The value returned is %d ",a);
free(top);
top=top->link;
return (a);
}
}
Error: Function 'pop' should have a prototype.
ReplyDeleteError: Cannot convert 'void' *' to node 'node *'.
What should I do?
to make sure my code run perfectly..?
Thanks in Advanced :)