创建一个空链栈的问题
/*栈类型*/
typedef struct Node
{
ElemType data;
struct Node *next;
}Node,*LinkStackPtr;
typedef struct LinkStack
{
LinkStackPtr top;
int count;
}LinkStack;
/*初始化栈*/
Status InitStack(LinkStack *S)
{
S->top = (LinkStackPtr)malloc(sizeof(Node));
if (!(S->top))
{
return ERROR;
}
S->count = 0;
S->top = NULL;
return OK;
}
为什么上面这个函数中S->top先分配块区域再赋值为NULL。
这段代码出于《大话数据结构源码》,求给出个好点的初始化链栈的代码 栈 数据结构
[解决办法]
链栈