私はリンクリストを使ってスタックの単純な動的実装をしようとしています。 次は私のコードです。コードにはエラーはありません。しかし、関数内で行われた変更は、私が参照によって構造を渡しているとは思えますが、戻って反映されません。 私はグローバルな構造を使ってこの仕事をすることができましたが、ここでは非常に基本的な概念が欠落していますので、何が間違っているのかを知りたがっています。グローバルスコープを使用します。cでの参照渡しの構造体
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);
}
そして、main()のポインタとしてs1を宣言します。 –
@リチャードペニングンン:-) – cnicutar