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; //问题出在这里
} 展开
#include<stdio.h>
struct NODE //结构体
{
int a;
int *p; //指针
};
void main()
{
NODE node; //定义一个结构体
NODE *p1; //指向结构体的指针
NODE *p2; //指向结构体的指针
p1=&node;
p2->p=p1->p; //问题出在这里
} 展开
3个回答
展开全部
没有开辟空间,你可以再定义的时候 Node* p = (Node*)malloc(sizeof(Node));在程序的最后free(p);试试。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p2没有指向啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询