顺序栈得声明为什么要加elemtype *data;有什么作用
不需要啊,加它干嘛呢?都已经有data数组了,再定义一个data指针,首先是编译会报错啊,出现两个同名变量了。其次data数组实际也就是指针啊
elemType *data;
和
elemType data[MaxSize];
两个任意写一个就可以了。同时写反倒重复了。
写 elemType *data; 是动态分配,运行的时候加上
SqStack.data = (elemType)malloc(sizeof(elemType)*MaxSize);
加它的作用是为数组元素指定具体的数据类型,为了保证顺序栈能够存储任意类型的数据,并支持在栈顶、栈底进行插入和删除元素的操作