69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
struct test
{
int *top, *base;
int stacksize;
};
void InitStack(struct test s)
{
s.base = (int *)malloc(100 * sizeof(int));
s.top = s.base;
s.stacksize = 100;
}
int main()
{
struct test s;
InitStack(s);
}
#include<stdio.h>
struct test
{
int *top, *base;
int stacksize;
};
void InitStack(struct test *s)
{
(*s).base = (int *)malloc(100 * sizeof(int));
(*s).top = (*s).base;
(*s).stacksize = 100;
}
int main()
{
struct test s;
InitStack(&s);
}
这样就可以了,不知道原因啊,
#include<stdio.h>
struct test
{
int *top, *base;
int stacksize;
};
void InitStack(struct test *s)
{
(*s).base = (int *)malloc(100 * sizeof(int));
(*s).top = (*s).base;
(*s).stacksize = 100;
}
int main()
{
struct test *s;
InitStack(s);
}
然而这样就不不可以了,求解释