gpt4 book ai didi

C - 带指针的函数的段错误

转载 作者:行者123 更新时间:2023-11-30 20:18:44 25 4
gpt4 key购买 nike

我有一个包含 6 个结构类型元素的列表:

struct entry
{
int value;
struct entry *next;
};

我正在尝试创建一个函数,通过为每个值成员分配一个随机 int 来初始化这六个元素。

void initializeList(struct entry *l_p)
{
while(l_p!=_END)
{
l_p->value=rand()%999;
l_p=l_p->next;
}
}

当在 main 中调用此函数时,*l_p 指向列表的第一个元素。 _END 是一个全局常量,定义如下:

struct entry const *_END=(struct entry *)0;

现在,每次运行代码时我都会得到以下信息:

段错误(核心转储)

进程返回 139 (0x8B)

我知道这意味着我正在尝试访问不允许的内存部分,但我不知道如何修复我的代码。另外,我非常确定问题是由 initializeList 引起的,因为如果我删除它并手动初始化列表的每个元素,程序就会顺利运行。

最佳答案

对不起大家,是我的错。我已经尝试弄清楚它很长时间了,现在,经过 5 分钟的休息,我可以看到,由于我的列表尚未初始化并且元素没有相互链接,所以我无法运行顺序扫描它。再说一次,我的错,我还是个菜鸟,还有很多东西要学:)

关于C - 带指针的函数的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53030613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com