在 C 语言中使用链表时遇到一些问题。
要创建链接列表,我会考虑以下步骤:
使用数据类型创建节点,并使用指针执行下一个节点;
创建对第一个节点(头)的引用或不创建节点,
head == null
;
然后创建对列表进行操作的函数。
我的主要问题是char
数组和指针。我只喜欢一个通用的链表。我搜索的内容太复杂了。
struct nodeCategoria {
int ident;
char design[MAX];
struct nodeCategoria* next;
};
struct nodeCategoria* headCat;
void insereCat(){
int ident1;
char arr[MAX];
struct nodeCategoria* novo;
printf("Identificacao : ");
scanf("%d", &ident1);
printf("Designacao : ");
novo->ident = ident1;
novo->design = scanf("%c[^\n]");
}
最佳答案
我对我的一个项目有类似的要求,可以想出这个:
- https://github.com/WayneBooth/opendias/blob/master/src/simpleLinkedList.c
- https://github.com/WayneBooth/opendias/blob/master/src/simpleLinkedList.h
使用示例:
struct simpleLinkedList *vars = sll_init();
sll_append(vars, someData);
sll_append(vars, otherData);
vars = sll_findFirstElement(vars);
char *myData1 = vars->data;
vars = sll_getNext(vars);
char *myData2 = vars->data;
sll_destroy(vars);
它有一些额外的方法(排序等),您可以忽略它们。也许这对您有用。
关于在 C 中创建通用链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38031682/