C语言:结构体内的成员(指针)的赋值问题

下面程序很简单,问题出在最后一句。能编译通过,但执行时会出错。没有最后一句,则程序OK。请问咋回事。#includestructNODE//结构体{inta;int*p;... 下面程序很简单,问题出在最后一句。能编译通过,但执行时会出错。没有最后一句,则程序OK。请问咋回事。 #include struct NODE //结构体 { int a; int *p; //指针 }; void main() { NODE node; //定义一个结构体 NODE *p1; //指向结构体的指针 NODE *p2; //指向结构体的指针 p1=&node; p2->p=p1->p; //问题出在这里 } 展开
 我来答
拱杰祁雅柔
2019-08-26 · TA获得超过1038个赞
知道小有建树答主
回答量:1840
采纳率:0%
帮助的人:8.7万
展开全部
虽然定义了p2指针,但是没有给p2赋值,故直接使用没有明确指向的指针,则会导致内存方面的错误
淦邃洪霈
2020-03-18 · TA获得超过1164个赞
知道答主
回答量:4
采纳率:0%
帮助的人:881
展开全部
没有开辟空间,你可以再定义的时候
Node*
p
=
(Node*)malloc(sizeof(Node));在程序的最后free(p);试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式