对链表头写入next,一直显示0xC0000005: 写入位置 0x00000068 时发生访问冲突

问题描述

对链表头写入next,一直显示0xC0000005: 写入位置 0x00000068 时发生访问冲突

代码如下
#include
#include
#define ElementType int

typedef struct Node{
int Data;
struct Node *Next;
} List;
List L, *PtrL;

void Listinput(List *ptrL,int max)
{
long int i,next_temp,l_temp;
int data_temp;
List *l,*L_temp;

//ptrL->Next=l;
for(i=0;i<max;i++)
{
    l = (List *)malloc(sizeof(List));
    scanf("%5ld%d%5ld",&l_temp,&l->Data,&l->Next);
    //l = (List *)malloc(sizeof(List));
    l=(List *)l_temp;
    if(i==0) ptrL->Next=l;
    //l->Data=(int)data_temp;
    //l->Next=(List *)next_temp;
}

}

int main()
{
int k,N,i;
long int next_temp,l_temp;
int data_temp;
List *l;
scanf("%d%d%d",&l_temp,&N,&k);
PtrL = (List *)malloc(sizeof(List));
PtrL=(List *)l_temp;
PtrL->Next=NULL;
//Listinput(PtrL,N);
//PtrL->Next=l;
//ptrL->Next=l;
for(i=0;i
{
l = (List *)malloc(sizeof(List));
scanf("%5ld%d%5ld",&l_temp,&l->Data,&l->Next);
//l = (List *)malloc(sizeof(List));
l=(List *)l_temp;
if(i==0)
{
PtrL->Next=l; ///////这一行报错
//l->Next=PtrL;
}
//l->Data=(int)data_temp;
//l->Next=(List *)next_temp;
}
l=PtrL;
for(i=0;i
{
l_temp=(int)l;
data_temp=l->Data;
next_temp=(int)l->Next;
printf("%d %d %d",l_temp,data_temp,next_temp);
}
return 0;
}

解决方案

l_temp就没有分配空间

解决方案二:

int main()
{
int k,N,i;
List *l;
scanf("%d%d%d",&PtrL,&N,&k);
for(i=0;i
{
l = (List *)malloc(sizeof(List));
scanf("%5ld%d%5ld",&l,&l->Data,&l->Next);
if(i==0)
{
PtrL->Next=l;
}
}
l=PtrL;
for(i=0;i
{
printf("%d %d %d",l,l->Data,l->Next);
l=l->Next;
}
return 0;
}

解决方案三:

也就是0X00000094地址不允许写,这是典型的运行时错误。你好好检查你的代码,肯定有问题,比如数组越界等。

时间: 2024-08-03 02:10:20

对链表头写入next,一直显示0xC0000005: 写入位置 0x00000068 时发生访问冲突的相关文章

求大神指导双向循环链表问题【0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突】

问题描述 求大神指导双向循环链表问题[0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突] 小弟欲新建一双向循环链表,对链表中符合删除条件的数据进行删除操作.整个程序编译无bug,运行中断.主函数运行到新建链表后打印函数中的cout<data<<" ";VS2010显示的错误为"0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突",求大神指教,是否是我新建链表的函数或宏定义中new和delete函数使用错误,

鼠标点击获得数据-代码正常运行一会后出现 0xC0000005: 读取位置 0x00000010 时发生访问冲突

问题描述 代码正常运行一会后出现 0xC0000005: 读取位置 0x00000010 时发生访问冲突 #include #include #include #include #include #include #include using namespace std; typedef struct V { GLdouble x; GLdouble y; GLdouble z; GLdouble X; GLdouble Y; GLdouble Z; GLdouble XN; GLdouble

内存泄露-急急急 0xC0000005: 读取位置 0x003741ec 时发生访问冲突

问题描述 急急急 0xC0000005: 读取位置 0x003741ec 时发生访问冲突 void CppToLua::recvData_lua(int iCmdType, VOID * pData, WORD wDataSize) { CCLuaStack* luaStack = CCLuaEngine::defaultEngine()->getLuaStack(); if (!luaStack) return; lua_State* L = luaStack->getLuaState();

c++-求助0xC0000005: 读取位置 0x00000004 时发生访问冲突错误

问题描述 求助0xC0000005: 读取位置 0x00000004 时发生访问冲突错误 void DInputClass::GetInput() { HRESULT hr = m_KeyboardDevice->GetDeviceState(sizeof(m_keyBuffer), (void**)&m_keyBuffer); //在这里提示错误了 //获取键盘输入消息 if(hr) { m_KeyboardDevice->Acquire(); m_KeyboardDevice-&g

异常处理- 0x01291dd6 处有未经处理的异常: 0xC0000005: 读取位置 0x00000018 时发生访问冲突

问题描述 0x01291dd6 处有未经处理的异常: 0xC0000005: 读取位置 0x00000018 时发生访问冲突 void results(CvSeq* conto,IplImage pContour) { for (int i=0;itotal;i++) { CvPoint p=(CvPoint*)cvGetSeqElem(conto,i); cout<<"("<x<<","<y<<")&quo

矩阵- 0xC0000005: 执行位置 0x00000000 时发生访问冲突。

问题描述 0xC0000005: 执行位置 0x00000000 时发生访问冲突. 我做的是MATLAB与vs混合编程,出现现在的问题不知道是哪的问题,请大神指教.我想看一下调用完MATLAB中的程序后生成的数据是否正确代码如下: #include "stdafx.h" #include"cv.h" #include"highgui.h" #include #include "lvbo.h" #include "Cv

在调用memcpy函数时出现 异常: 0xC0000005: 读取位置 0x006bd000 时发生访问冲突

问题描述 在调用memcpy函数时出现 异常: 0xC0000005: 读取位置 0x006bd000 时发生访问冲突 BOOL Kirsch(BYTE *pData,int Width,int Height) {//定义实现Kirsch算法的8个模板: int i,j,s,t,k,max,sum[8]; static int a[3][3]={{+5,+5,+5},{-3,0,-3},{-3,-3,-3}}; static int a1[3][3]={{-3,+5,+5},{-3,0,+5},

代码-c++ 0xC0000005: 读取位置 0x02F91000 时发生访问冲突

问题描述 c++ 0xC0000005: 读取位置 0x02F91000 时发生访问冲突 double a[65536] = { 0 }; double b[65536] = { 0 }; double c[65536] = { 0 }; void C测试Dlg::OnBnClickedButton9() { // TODO: 在此添加控件通知处理程序代码 Mat img = imread("F:结果2.bmp",4); int width = img.cols; int height

访问时发生冲突 0xC0000005: 读取位置 0xcdcdcdcd 时发生访问冲突

问题描述 #include"stdafx.h"usingnamespacestd;//长整形加法运算typedefstructDuLNode{intdata;structDuLNode*prior;structDuLNode*next;}DuLNode,*DuLinklist;voidInit_DuLinklist(DuLinklist&L);//初始化链表voidCreatList(DuLinklist&L,intn);//创建链表voidAdd(DuLinklist