仅留下出问题的代码部分:
typedef struct
{
int shibu;
}ElemType;//定义的数据类型
typedef struct Lnode
{
ElemType data;
struct Lnode* next;
}Lnode, * LinkList; // 创建的节点,Lnode用来表示节点,Linklist用来表示头指针
LinkList Creat_EndInsert(int n)
{
LinkList L = (LinkList)malloc(sizeof(LinkList));
LinkList pointer = L;
L->next = NULL;
for (int i = n; i > 0; --i)
{
Lnode* newNode = (Lnode*)malloc(sizeof(Lnode*));
pointer->next = newNode;
newNode->next = NULL;
scanf("%d", &newNode->data);
pointer = newNode;
}
return L;
}//尾插法创建,并按输入插入节点
在运行我的代码时出现如下图的报错
其中 CRT detected that the application wrote to memory after end of heap buffer 译为 CRT检测到应用程序在堆缓冲区结束后写入内存 ,其实这种表述并不贴切,导致我没有找到问题在哪边。经过逐步编译尝试,我发现了问题。
在我用于创建链表