是在下面代码中的这一行崩溃的:
l -> data = (int *)malloc(sizeof(int) * n);
整个代码如下:
typedef struct
{
int *data;
int last;
}List;
List *Create(int n)
{
List *l;
l -> data = (int *)malloc(sizeof(int) * n);
l -> last = -1;
return l;
}
因为 l 只是一个指针,并没有为其分配指向的内存空间,所以相应成员 data last 都不存在,对其赋值是错误的。
List *l = (List *)malloc(sizeof(List));
把 l 初始化,这样既可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。