Linklist InitList() { Lnode *L; L=(Lnode*)malloc(sirzeof(Lnode)); if(L==NULL) { printf("申请空间失败\n"); exit(0); } L->next == NULL; L->data == NULL; return L; }
时间: 2023-12-07 20:02:16 浏览: 29
这段代码中有两个问题:
1. 第二行代码中的 `sirzeof` 应该是 `sizeof`,这是一个拼写错误。
2. 第 10 和 11 行代码中的 `==` 应该是 `=`,这是一个赋值错误。
正确的代码应该是:
```
Linklist InitList() {
Lnode *L;
L = (Lnode*)malloc(sizeof(Lnode));
if (L == NULL) {
printf("申请空间失败\n");
exit(0);
}
L->next = NULL;
L->data = NULL;
return L;
}
```
这段代码的作用是初始化一个带头结点的单链表,返回头结点的地址。
相关问题
Linklist InitList() { Lnode *L; L=(Lnode*)malloc(sizeof(Lnode)); if(L==NULL) { printf("申请空间失败\n"); exit(0); } L->next = NULL; L->data == NULL; return L; }
这段代码中有一个语法错误和一个拼写错误:
1. 第五行代码中的 `L->data == NULL;` 应该是 `L->data = NULL;`,这是一个赋值错误。
2. 第三行代码中的 `L=(Lnode*)malloc(sizeof(Lnode));` 可以改为简化写法 `L = malloc(sizeof(Lnode));`,这是一个更简洁的写法。
修改后的代码应该是:
```
Linklist InitList() {
Lnode *L;
L = malloc(sizeof(Lnode));
if (L == NULL) {
printf("申请空间失败\n");
exit(0);
}
L->next = NULL;
L->data = NULL;
return L;
}
```
这段代码的作用是初始化一个带头结点的单链表,返回头结点的地址。
#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef enum{false=0,true=1}bool; typedef struct node{ ElemType data; struct node *next; }Lnode,*Linklist; //初始化单链表 bool InitList(Lnode*&L); //(头插法)创建单链表 void CreateListListF(Lnode *&L,ElemType a[],int n); //初始化单链表 bool InitList(Lnode *L){ L=(Lnode*)malloc(sizeof(Lnode)); L->next=NULL; if(L==NULL)//内存不足,头结点无法分配到空间 return false; return true; } //(头插法)创建单链表 void CreateListF(Lnode *&L,ElemType a[],int n){ Linklist s; L=(Lnode*)malloc(sizeof(Lnode)); L->next=NULL; int j=0; for(j=0;j<n;j++){ s=(Lnode *)malloc(sizeof(Lnode)); s->data=a[j]; s->next=L->next; L->next=s; } }
这段代码是用C语言实现的单链表的初始化和创建,其中包括了头插法创建单链表的函数。代码中定义了一个结构体node,它包含了一个数据域data和一个指向下一个结点的指针next。代码中还定义了一个typedef枚举类型bool,用来表示true和false。函数InitList用来初始化单链表,函数CreateListF用来通过头插法创建单链表。函数的具体实现如下:
```c
#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
typedef enum{false=0,true=1}bool;
typedef struct node{
ElemType data;
struct node *next;
}Lnode,*Linklist;
// 初始化单链表
bool InitList(Lnode*& L){
L=(Lnode*)malloc(sizeof(Lnode));
L->next=NULL;
if(L==NULL) // 内存不足,头结点无法分配到空间
return false;
return true;
}
// 头插法创建单链表
void CreateListF(Lnode*& L, ElemType a[], int n){
Linklist s;
L=(Lnode*)malloc(sizeof(Lnode));
L->next=NULL;
int j=0;
for(j=0;j<n;j++){
s=(Lnode *)malloc(sizeof(Lnode));
s->data=a[j];
s->next=L->next;
L->next=s;
}
}
```
你有什么其他问题吗?