#引发了异常: 读取访问权限冲突。 p 是 0x1

1.有下列单链表结构
typedef struct Node
{
int data;//数据域
struct Node *next;//指针域
}Node,*link;//Link 为指针型结构体类型

在链表类型的函数中要访问临时指针p时无法访问p->next,p->data,要注意传入的p指针是不是空指针没有被赋值的
Node *move(Node *p, int i)
{
for (int j = 1;j <= i;j++)
{
if(p!=NULL)
p = p->next;
else break;
}
return p;
}

在构造循环单链表指针这里为链表指针型函数,结果返回一个指针,在其他函数要调用时才可以赋值
link Creatlink(int n)
{
link head;
Node s;//插入辅助指针
head = (Node
)malloc(sizeof(Node));
head->next = head;//循环单链表
if (n < 1)
{
cout << “链表元素小于1,创建失败”;
return false;
}
head->data = 1;
while (n >= 2)
{
s = (Node*)malloc(sizeof(Node));
s->data = n;
s->next = head->next;
head->next = s;
n–;
}
return head;
}
2.在定义链表指针时若在函数要调用要先初始化这个指针,否则会出现
Run-Time Check Failure #3 - The variable ‘joselink’ is being used without 报错
int main()
{
int n, m;
link joselink, current, s;
cout << “输入总人数n和报数的规律” << endl;
cin >> n >> m;
joselink = (Node*)malloc(sizeof(Node));
josephus(joselink, n, m);
//return 0;
}
约瑟夫环调试中遇错,加以记录

发布了1 篇原创文章 · 获赞 0 · 访问量 56

猜你喜欢

转载自blog.csdn.net/weixin_43260522/article/details/104262382