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

下面程序很简单,问题出在最后一句。能编译通过,但执行时会出错。没有最后一句,则程序OK。请问咋回事。#include<stdio.h>structNODE//结构体{in... 下面程序很简单,问题出在最后一句。能编译通过,但执行时会出错。没有最后一句,则程序OK。请问咋回事。

#include<stdio.h>
struct NODE //结构体
{
int a;
int *p; //指针
};
void main()
{
NODE node; //定义一个结构体
NODE *p1; //指向结构体的指针
NODE *p2; //指向结构体的指针
p1=&node;
p2->p=p1->p; //问题出在这里
}
展开
 我来答
木水兰昔
2014-11-04
知道答主
回答量:12
采纳率:0%
帮助的人:10万
展开全部
虽然定义了p2指针,但是没有给p2赋值,故直接使用没有明确指向的指针,则会导致内存方面的错误
haiyangfenghuo
2014-11-04 · TA获得超过2439个赞
知道大有可为答主
回答量:2388
采纳率:0%
帮助的人:804万
展开全部
没有开辟空间,你可以再定义的时候 Node* p = (Node*)malloc(sizeof(Node));在程序的最后free(p);试试。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qinflying
2014-11-04 · 一个低调有内涵的技术人员
qinflying
采纳数:452 获赞数:1416

向TA提问 私信TA
展开全部
p2没有指向啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式