c++ 错误 1error C4700: 使用了未初始化的局部变量“L 怎么回事?怎么改才行?

#include<iostream>usingnamespacestd;#defineMAX_SIZE100#defineEORROR0#defineOK1typedef... #include<iostream>
using namespace std;
#define MAX_SIZE 100
#define EORROR 0
#define OK 1
typedef int Elem_Type;
typedef int Status;
typedef struct sqlist
{
Elem_Type *Elem_array=0;
size_t length=0;
}SqList;

Status Init_SqList(SqList *L)
{
L->Elem_array= (Elem_Type *)malloc(MAX_SIZE*sizeof(Elem_Type));
if (!L->Elem_array)
{
L->length = 0;
return OK;
}
else
return EORROR;
}

int main()
{
SqList * L; \\错误1
Init_SqList(L);
size_t i = 1;
Elem_Type e = 9;
Insert_SqList(L, i, e);
return 0;
}
写错了 错误在Init_SqList(L);这一行
展开
 我来答
zjnny
推荐于2017-10-12 · TA获得超过2037个赞
知道小有建树答主
回答量:1055
采纳率:100%
帮助的人:1058万
展开全部
  1. 结构体里没有初始化,不能在内部直接赋值

    typedef struct sqlist
    {
         Elem_Type *Elem_array;//去掉=0,在main中声明结构体变量时,再初始化
        size_t length;//去掉=0
    }SqList;

  2. SqList * L; \\错误
    L只是一个指针,没有节点的实体,你如何在Init_SqList里,调用L的L->Elem_array成员

  3. 正确的逻辑是

    Node *head=NULL,*pNode=NULL;

    pNode=new Node;

    init_node(pNode);//初始化这个节点的成员变量

    insert_node(&head,pNode);//将申请的节点添加到head指向的链表

  4. 建议你去看看其他人写的正确的链表过程

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式