张世来4610484 发表于 2022-12-17 16:47:18

链表指针问题

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#define OK 1
#define ERROR 0
#define MAXSIZE 100
typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。
typedef int LlElemType; //ElemType 为可定义的数据类型,此设为int类型


typedef struct __LNode {
        LlElemType data;
        struct __LNode *next;
}LNode, *LinkList;

//初始化
//Status InitLL(LNode **L) {
//        (*L) = (LNode*)malloc(sizeof(LNode));
//        (*L)->next = NULL;
//        return OK;
//}

//初始化
LinkList InitLL(LinkList L) {
        L = (LinkList)malloc(sizeof(LNode));
        L->next = NULL;
        return L;
}
int main() {
        LinkList Lb = NULL;
        Lb=InitLL(Lb);
        //CreateList_H(Lb, 3);
        //CreateList_R(Lb, 3);
}

大佬看一下我这个代码,两种链表的初始化,第二种利用返回值可以初始化,但是第一种利用双指针在malloc处就报错了,指点下哪里出了问题

傻眼貓咪 发表于 2022-12-17 16:47:19

我试了没有问题啊。请问报什么错?
// 初始化
Status InitLL(LNode** L) {
    (*L) = (LNode*)malloc(sizeof(LNode));
    if (*L) // <----------------------------------------
    {
      (*L)->next = NULL;
    }
    return OK;
}
页: [1]
查看完整版本: 链表指针问题