xxx999 发表于 2018-10-14 21:49:19

数据结构求助

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里面的*是指针还是乘法

claws0n 发表于 2018-10-14 21:53:53

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;
}

ba21 发表于 2018-10-14 21:54:02

initstack里面的 size都是普通变量,你要是不好理解先2个都改成别的名字。
malloc里面的*是乘法

xxx999 发表于 2018-10-14 22:16:47

ba21 发表于 2018-10-14 21:54
initstack里面的 size都是普通变量,你要是不好理解先2个都改成别的名字。
malloc里面的*是乘法

两个size是一个意思吗

xxx999 发表于 2018-10-14 22:17:22

claws0n 发表于 2018-10-14 21:53
typedef struct{
      ElemType *base;
      ElemType *top;


两个size什么区别

claws0n 发表于 2018-10-14 22:22:03

xxx999 发表于 2018-10-14 22:17
两个size什么区别

浅色是结构体成员,深色是形参,调用时就是传参

ba21 发表于 2018-10-15 15:59:08

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]
查看完整版本: 数据结构求助