在VC中写了一个单链表,可是运行时,显示 最可能的异常: 0xC0000005: 写入位置 0xcdcdcdcd 时发生访问冲突,请各位大侠帮忙看看:
typedef struct Member
{
CString sex;
CString age;
CString apparment;
CString name;
}Elemtype;
typedef struct Node
{
Elemtype data;
struct Node *next;
}Lnode,*LinkList;
LinkList head=NULL,tail=NULL;
void Creat_LinkList(LinkList &L)//创建链表
{
L=(LinkList)malloc(sizeof(Lnode));
L->next =NULL;
int j=0;//记录单链表中元素个数
printf("输入部门,姓名,年龄");
for(int i=1;i<=1;i++)
{
LinkList p=(LinkList)malloc(sizeof(Lnode));
p->next=L->next;
L->next =p;
// strcpy( p->data.age,_T("1"));
char* pStr = new char[sizeof(str) + 1]; // 动态分配内存
p->data.age="11";
j++;//记录单链表的长度
}//(逆序实现)
}
红色这句加上就有错误了
typedef struct Member
{
CString sex;
CString age;
CString apparment;
CString name;
}Elemtype;
typedef struct Node
{
Elemtype data;
struct Node *next;
}Lnode,*LinkList;
LinkList head=NULL,tail=NULL;
void Creat_LinkList(LinkList &L)//创建链表
{
L=(LinkList)malloc(sizeof(Lnode));
L->next =NULL;
int j=0;//记录单链表中元素个数
printf("输入部门,姓名,年龄");
for(int i=1;i<=1;i++)
{
LinkList p=(LinkList)malloc(sizeof(Lnode));
p->next=L->next;
L->next =p;
// strcpy( p->data.age,_T("1"));
char* pStr = new char[sizeof(str) + 1]; // 动态分配内存
p->data.age="11";
j++;//记录单链表的长度
}//(逆序实现)
}
红色这句加上就有错误了
解决方案 »
- MessageBox用法还是不会哎
- 已经开通boost研究群6927225,敬请加入。
- 在局域网内用UDP协议传输的速度问题.
- 求《Visual C++数字图像获取、处理及实践应用 》《Visual C++数字图像处理(第二版) 》《数字图像处理学Visual C++实现》《Visual C++数
- 关于VC++调用webservice时遇到的问题。
- 使用IOCP时,配置串口的超时结构COMMTIMEOUTS对于投递异步IO有何影响?
- vs2010 mfc c++ 制作浮动,停靠窗口
- 如何实现可编辑的CListCtrl
- 谁能给我一个vc++写的控制光驱弹入弹出的程序.要详细些的.(我真在研究java的jni技术).谢谢.
- ODBC的小问题
- 请问C++版的MFC要怎么学?
- 【HELP】如何改变对话框边框的颜色
//char* pStr = new char[sizeof(str) + 1]; // 动态分配内存
这句不要
// 和malloc相关的加上memset(p,0,sizeof(Lnode));
// 就是分配的内存要初始化为0;避免写不可用的地址;
最可能的异常: 0xC0000005: 读取位置 0xfffffffc 时发生访问冲突不知道为什么
p->data.age="11";
如果这一句换成是int型就没问题p->data.age=1;//ElemType里面也要改成,int age;
LinkList p = new Lnode;
// LinkList p=(LinkList)malloc(sizeof(Lnode)); 改为 LinkList p;
p = new Lnode;