gpt4 book ai didi

创建 BlockType 结构的单链表

转载 作者:行者123 更新时间:2023-11-30 17:25:20 24 4
gpt4 key购买 nike

我正在尝试使用这 3 个 typedef struct(人物、统计数据和车辆)创建一个单链表。

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


typedef struct{
char name[22];
char city[10];
int yearBorn;
} person;


typedef struct{
int height[8];
double weight[18];
} Stats;

typedef struct{
char car[16];
int horsepower[20];
} vehicle;


typedef struct node {
person *p;
Stats *stat;
vehicle *hp;
struct node *next;
}NODE;

typedef struct {
NODE *head, *tail;
}SLL;


int main(){
void insert(SLL *list, person p, vehicle hp, Stats stat){


a = (NODE *)malloc(sizeof(p));
b = (NODE *)malloc(sizeof(hp));
c = (NODE *)malloc(sizeof(stat));

if(list->head == NULL){
return NULL;
}
list -> head -> next = a;
list -> head -> next-> next = b;
list -> head -> next-> next -> next = c;
list -> tail = c;


}




return 0;
}

我不断收到 a、b 和 c 的错误,提示错误:“a”未声明(在此函数中首次使用)。我只是想知道我这样做是否正确,以及这个错误意味着什么。我真的很感激任何有关我的代码的见解。谢谢。

最佳答案

问题就在这里

int main(){
void insert(SLL *list, person p, vehicle hp, Stats stat){


a = (NODE *)malloc(sizeof(p));
b = (NODE *)malloc(sizeof(hp));
c = (NODE *)malloc(sizeof(stat));

if(list->head == NULL){
return NULL;
}
list -> head -> next = a;
list -> head -> next-> next = b;
list -> head -> next-> next -> next = c;
list -> tail = c;
}

return 0;
}

如何在另一个函数中定义一个函数?!!

关于创建 BlockType 结构的单链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27085315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com