c++链表初始化 为什么会出问题

#include<iostream>
#include<fstream>
#include<string>
#include<stdlib.h>
using namespace std;
struct eng_dc
{
string data;
int count;
};
typedef struct lnode
{
eng_dc dcs;
lnode* next;
} E;
void create(E *&l)
{
l=(E*)malloc(sizeof(E*));
l->next=NULL;
//l->dcs.data=(char*)malloc(sizeof(char*));
string x="a";
cout<<"错在下面"<<endl;
l->dcs.data=x;//********!!!!!????
cout<<"错在上面"<<endl;
l->dcs.count=-1;
}
void main()
{
E *q;
create(q);
}

l=(E*)malloc(sizeof(E*));
分配 长度错了,是sizeof(E)
温馨提示:内容为网友见解,仅供参考
无其他回答

这个链表初始化函数怎么就错了?
至于syntax error : missing ';' before 'type',可能是因为其他地方的错误,编译器经常因为其他地方的错误,而莫名其妙指向另一处地点,这是经常见的!

C++中链表初始化
malloc是纯c的东西,如此混用当然出异常,请改为new:p1=p2=new Cwow;这样就好了,所有用malloc的地方都该为new

c++链表初始化 为什么会出问题
分配 长度错了,是sizeof(E)

c++ 链表,,求指导,程序崩溃,line:1044
链表的最后一个节点的next的值,是否设置为NULL了,如果没有设置,到了最后一个节点的时候,就会出现崩溃.你的链表中的每个节点的next值,是否都对了,如果有任一个节点的next没有指向有用的节点的话,就会访问不被允许访问的内存,导致崩溃.考虑下在进入循环的第一次是否就有问题,因为循环里,并没有判断p...

c++程序抛出异常:: 0xC0000005: 写入位置 0xCDCDCDCD 时发生访问冲突...
如图标记2:这里如果链表为空,你的head是怎么初始化的,如果是初始化为NULL,那这里必然会失败出现你所描述的问题。建议你初始化为NULL,然后这里判断如果为NULL就返回node。如图标记3:这一句在这里没有什么意义。如图标记4:这里我猜想你的Node和Data是类对象,因为看你后面引用了类函数。那这里就要注意...

C++单链线性表的初始化问题
L->next=p; \/\/ █ 代表节点 <--- 代表指针 你那个程序指针是这样指的 █ <-- █ <-- █ <--- █for循环一结束就指向最后面的节点了 这样L是往后移动的, 所以输出时倒着输出 L-next存储p上次创建的节点的地址 p是后来创建的节点 所以后面节点总是指向前面的节点 ...

c++ 链表初始化问题
单步调试,进Clean()函数,看出错前的数据;猜测:你初始化链表时,有没有让最后一项的Next成员为NULL?没有的话最后就出这样的错误!

链表指针不能在结构体中初始化么
这个是规定,如果是C++的struct就是class,他的初始化至少放在构造函数初始化列表中 从内存来说,你声明的只是类型,而不是全局变量等预编译就分配的内存,所以不能初始化

C++链表问题 总是存在这么一个错误:error C2601: 'Add_word' : loca...
检查下你这个函数的定义是不是放在了另一个函数的内部了?(上下寻早{与}是否漏缺```)这个错误一般都是这样的问题、

c++ 链表,,求指导,程序崩溃,line:1044
1.链表的最后一个节点的next的值,是否设置为NULL了,如果没有设置,到了最后一个节点的时候,就会出现崩溃.2.你的链表中的每个节点的next值,是否都对了,如果有任一个节点的next没有指向有用的节点的话,就会访问不被允许访问的内存,导致崩溃.3.考虑下在进入循环的第一次是否就有问题,因为循环里,并没...

相似回答
大家正在搜