不能将Lnode * 类型的值分配到Lnode * 类型的实体

想创建一个链表#include"stdafx.h"#include"stdlib.h"typedefstruct{intdata;structLnode*next;}Ln... 想创建一个链表
#include "stdafx.h"
#include "stdlib.h"

typedef struct {
int data;
struct Lnode *next;
}Lnode,*LinkList;

void CreateList_L(LinkList &L,int n){
int i;
Lnode *p;
L=(LinkList)malloc(sizeof(Lnode));
L->next=NULL;
for(i=0;i>0;--i){
p=(LinkList)malloc(sizeof(Lnode));
scanf("%d",&p->data);
p->next=L->next;
L->next=p;

}
}
L->next=p;这句总报错就是“不能将Lnode * 类型的值分配到Lnode * 类型的实体“
什么意思啊
展开
 我来答
A1620921354
2020-04-01 · TA获得超过5813个赞
知道答主
回答量:388
采纳率:100%
帮助的人:16.9万
展开全部

不能将LNode类型的值分配到LinkList类型的实体”

此问题原因为:您使用的编译器支持简介形式,因此要解决此问题应将结构体改为:

typedef struct tagLnode
{
int data;
struct tagLnode *next;
}Lnode,*LinkList;或者改成大多数编译器支持的简洁形式
typedef struct Lnode
{
int data;
Lnode *next;
}*LinkList;

扩展资料:

Lnode x; // 声明一个Lnode类型的变量x。结构体Node ,是一种类型。传值是L,传引用是&L,传指针是*L, 如果需要有原值的变更的话需要用传引用,或者传指针。

LNode *s;//定义一个指向LNode的指针。

LNode *s=H;//H是一个定义好的头节点,这里定义一个指向LNode 的指针s,并把它的初始值定为H的内存地址。

LinkList s;和LNode *s;不能在同一个函数中出现。

wwylele
推荐于2017-10-06 · TA获得超过2523个赞
知道小有建树答主
回答量:1037
采纳率:0%
帮助的人:1095万
展开全部
typedef struct {
int data;
struct Lnode *next;
}Lnode,*LinkList;
这个地方有点问题,因为结构体定义中出现了struct Lnode但 Lnode这个名字却是在下一行出现的,于是把编译器弄懵了。改成这样:
typedef struct tagLnode
{
int data;

struct tagLnode *next;
}Lnode,*LinkList;
或者改成大多数编译器支持的简洁形式
typedef struct Lnode
{
int data;

Lnode *next;
}*LinkList;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式