Я пытаюсь сделать простую динамическую реализацию стека, используя список ссылок.
Далее мой код. Код не имеет ошибок. Но изменения, сделанные внутри функции, не отражаются обратно, хотя я полагаю, что передаю структуру по ссылке.
Хотя я смог сделать эту работу, используя глобальную структуру, но здесь я упускаю очень простую концепцию, поэтому хотел знать, что я неправильно понимаю, и как я могу отразить изменения, сделанные в функции pop, обратно в main без использования глобальный охват.
struct stack
{
char value;
struct stack *next;
};
void push(char a,struct stack *s1)
{
struct stack *s2;
s2=(struct stack *)malloc(sizeof(struct stack));
if(empty(s1))
{
s2->value=a;
s2->next=NULL;
s1=s2;
}
else
{
s2->value=a;
s2->next=s1;
s1=s2;
}
return;
}
int main()
{
struct stack s1;
push(c,&s1);
printf("%d",s1.value);
}