您的位置:

c语言中空栈,创建空栈C语言

本文目录一览:

C语言构造空栈为什么要在S前加一个&

这里涉及到C/C++中函数调用时的参数传递。一般来说,都是值得传递,形参的值的改变不影响实参的值。

但在某些情况下,希望函数调用中的形参改变,实参也跟着改变。就像构造一个空栈,此时表示这个栈的数据结构刚被建立起来,原来栈不存在,现在被建立了,改变了,而按通常的方式是不行的。

C++提供了一种被称为引用的参数传递方式,就能实现形参改变实参也跟着改变的效果,也就是问题中说的前面加的情况。

C语言中如何初始化栈 每个元素均为空

1如果顺序栈的定义如下

typedef

struct

{datatype

data[stacksize];

int

top;

}SeqStack;

---则置空栈的操作如下

void

InitStack(seqstack

*s)

{s-top=-1;

}

2如果链栈的定义如下

typedef

struct

node

{datatype

data;

struct

node

*next;

}LinkStack;

---则置空栈的操作如下

void

InitStack(linkstack

*s)

{s-top=null;

}

c语言版数据结构 空栈的构造

栈的本意是一个数组,里面存取数据的方式是先进后出。因此,你需要一个cusor来指定当前的栈顶(可能你使用top实现的),你可能还需要当前存放了多少数据进栈了,栈是否空、满,因此你还需要一个int变量计算栈元素个数。没push+1,没pop

-1。你完全不需要成员stacksize,还有你需要一个栈元素个数的计数器。另外你不需要将形参由引用该为指针,反而降低效率!