#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处就报错了,指点下哪里出了问题
我试了没有问题啊。请问报什么错?
// 初始化
Status InitLL(LNode** L) {
(*L) = (LNode*)malloc(sizeof(LNode));
if (*L) // <----------------------------------------
{
(*L)->next = NULL;
}
return OK;
}
|