//list.h file
typedef struct _lnode{
struct _lnode *next;
unsigned short row;
unsigned short column;
short data;
}lnode;
typedef struct _llist{
struct _lnode *head;
unsigned int size;
}llist;
//list.c file
void add(llist *list, lnode *newNode){
list->size++;
addRecursion(&list->head, newNode);
}
lnode* addRecursion(lnode **node, lnode *newNode){
if(*node == NULL){
*node = newNode;
}
else{
lnode *nextNode = *node->next;
*node->next = addRecursion(&nextNode, newNode);
}
return node;
}
//main function
llist list;
list.head = NULL;
lnode* new_node;
new_node = make_node(1,1,2);
add(&list, new_node);
printList(list.head);
I think I have a problem in addRecursion function especially in "else" statement.. I am getting confused since I started using double pointers... How can I fix this?