为何要这样初始化?
#include<stdio.h>#define datatype1 int
#define maxsize 15
typedef struct
{
datatype1 data[maxsize];
int top;
}seqstack;
/*栈初始化操作函数*/
void initstack(seqstack *s)
{
int i;
for(i=0;i<maxsize;i++)
s->data[i]='\0';
s->top=0;
}
初始化空栈不是中用s->top=0;就行了吗?
'\0'是空字符串吧
干嘛还要s->data[i]='\0';呢?
是不是怕申请得来的内存有残留数据?
即使有残留数据,等下有数据入栈的时候不是会覆盖它吗?
还有, 经常看到这种写法#define datatype1 int,
直接用int不好吗?干嘛要写datatype1这么一大串 ?我看不出有什么好处。