数据结构求助
typedef struct{ElemType *base;
ElemType *top;
int size;
int increment;
}Sqstack;
Status initstack(Sqstack&s,int size,int inc)
{
s.base = (ElemType*)malloc(size*sizeof(Sqstack));
if(s.base)
exit(OVERFLOW);
s.top = 0;
s.size = size;
s.increment = inc;
}
谁能告诉我 initstack里面的 size和结构体的有什么区别,malloc里面的*是指针还是乘法 typedef struct{
ElemType *base;
ElemType *top;
int size;
int increment;
}Sqstack;
Status initstack(Sqstack&s,int size,int inc)
{
s.base = (ElemType*)malloc(size*sizeof(Sqstack));//指针乘
if(s.base)
exit(OVERFLOW);
s.top = 0;
s.size = size;
s.increment = inc;
} initstack里面的 size都是普通变量,你要是不好理解先2个都改成别的名字。
malloc里面的*是乘法
ba21 发表于 2018-10-14 21:54
initstack里面的 size都是普通变量,你要是不好理解先2个都改成别的名字。
malloc里面的*是乘法
两个size是一个意思吗 claws0n 发表于 2018-10-14 21:53
typedef struct{
ElemType *base;
ElemType *top;
两个size什么区别
xxx999 发表于 2018-10-14 22:17
两个size什么区别
浅色是结构体成员,深色是形参,调用时就是传参 xxx999 发表于 2018-10-14 22:16
两个size是一个意思吗
自己看代码吧。说多了你也听不懂
typedef struct{
ElemType *base;
ElemType *top;
int s1;
int increment;
}Sqstack;
Status initstack(Sqstack&s,int s2,int inc)
{
s.base = (ElemType*)malloc(s2*sizeof(Sqstack));
if(s.base)
exit(OVERFLOW);
s.top = 0;
s.s1= s2;
s.increment = inc;
}
页:
[1]