
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、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)