贩售云朵Y 2023-09-27 19:59 采纳率: 100%
浏览 8
已结题

用c语言写法,怎么一直报错。

img


用c语言写法,怎么一直报错。
24行一直报错

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

#define OK 1 
#define OVERFLOW -2
#define ERROR 0
#define MAXSIZE 100     //最大长度
typedef int ElemType;
typedef int Status;


typedef struct LNode{
    ElemType data;       //数据域
    struct LNode *next;   //指针域
}LNode,*LinkList;   
// *LinkList为Lnode类型的指针

//初始化 
Status InitList_L(LinkList L){ 
    L= (LNode*)malloc(sizeof(LNode));    
    L->data = (ElemType*)malloc(sizeof(ElemType));    
    L->next = (LNode*)malloc(sizeof(LNode));    
    L=new LNode;        //生成新结点作头结点,用头指针L指向头结点。
    L->next=NULL;  //头结点的指针域置空。
    return OK; 
} 


int main() {
    LinkList L;
    InitList_L(&L);
    return 0;
}
  • 写回答

3条回答 默认 最新

  • qzjhjxj 2023-09-28 10:44
    关注

    修改如下,见注释,供参考:

    #include <stdio.h>
    #include <stdlib.h>
    #include <malloc.h>
    
    #define OK 1 
    #define OVERFLOW -2
    #define ERROR 0
    #define MAXSIZE 100     //最大长度
    typedef int ElemType;
    typedef int Status;
    
    typedef struct LNode {
        ElemType data;       //数据域
        struct LNode* next;   //指针域
    }LNode, * LinkList;
    // *LinkList为Lnode类型的指针
    
    //初始化 用 malloc() 写
    Status InitList_L(LinkList& L) { //(LinkList L) 形参修改为引用
        L = (LNode*)malloc(sizeof(LNode)); // (1)用 malloc 生成新结点作为头结点,并用指针L指向头结点
        if (!L)  return ERROR;             //生成结点不成功,返回错误信息
        L->next = NULL;                   //(2)头结点的指针域置空
        return OK;
    }
    //初始化  用 new 写
    Status InitList_L1(LinkList& L) {
        L = new LNode;         // (1)用 new 生成新结点作为头结点,并用指针L指向头结点
        if (!L)  return ERROR; //生成结点不成功,返回错误信息
        L->next = NULL;        //(2)头结点的指针域置空
        return OK;
    }
    
    int main() {
        LinkList L, L1;
        InitList_L(L);
        InitList_L1(L1);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月28日
  • 修改了问题 9月27日
  • 创建了问题 9月27日