C语言数据结构 这个程序为什么运行时 选择1的时候会死机

C语言数据结构 这个程序为什么运行时 选择1的时候会死机,第1张

LinkQueue Q;

menu();

scanf("%d",&a);

switch(a)

{

case 1:{

initQueue(Q);

Q是LinkQueue 类型,是指针类型。传给init函数的时候,并没有分配空间就开始使用

Q->front 和Q->rear

内存出错。

======================

修改方法:

======================

nt initQueue(LinkQueue Q)

{

Q = (LinkQueue )malloc(sizeof(LinkQueue));

Q->front=Q->rear=(QueuePtr)malloc(sizeof(QNode));

Q->front=NULL;

return 1;

}

首先要明白str是一个指针,它存放的是计算机内的一个地址。那么按照你的写法,先声明这个指针,然后输入数据存放到这个地址起始的数据段内。如果这个数据段正好是计算机系统正在占用的内存,有重要数据,那么数据就被你输入的数据覆盖了,从而系统无法正常运行。当然这只是一种可能,也许你输入的数据被存放到了一个没有被使用的内存段中,那么它是没问题的。工程上,在都是先把str指向NULL,然后再使用,也即char str=NULL。这样就安全了。

以上就是关于C语言数据结构 这个程序为什么运行时 选择1的时候会死机全部的内容,包括:C语言数据结构 这个程序为什么运行时 选择1的时候会死机、C语言程序,这样写书上说危险,会死机!这是为什么char *str;scanf(“%s”,st、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9834449.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存