I am reading the Algorithm Design Guide and the following code fragment appears in chapter 3. This is due to the removal of the item from the linked list. The question is not related to data structures, but only with one line of code, where I declare two variables. I have reduced the optional parts of the code for brevity.
list *search_list(list *l, item_type x) {
}
list *predecessor_list(list *l, item_type x) {
}
delete_list(list **l, item_type x) {
list *p;
list *pred;
list *search_list(), *predecessor_list();
p = search_list(*l,x);
}
My question is in delete_list function, in particular, in the line list *search_list(), *predecessor_list();. What is happening on this line? I assume this is a function pointer, but I understand that you must declare a function pointer with the appropriate parameters. Also, assuming I'm right, why do I need these lines?