在c语言中使用链表遇到一些麻烦
要创建链表,我将考虑以下步骤:用数据类型和指针创建节点;
创建对第一个节点(head)或无节点
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);
它有一些额外的方法(排序等),你可以忽略它们。