notes while defining linked list we must have recursive definitionsstruct node int datastruct node linkherelink is pointer of struct node type it can hold the address of variable of struct node type pointers permit the referencing of structures in uniform wayregardless of the organization of the structure being referenced pointers are capable of representing much more complex relationship between elements of structure than linear order initializationmain(struct node * *list*templist temp nulllab exercise programinclude include struct node int datastruct node *link}struct node *insert(struct node *pint nstruct node *temp/if the existing list is empty then insert new node as the starting node *if( ==nullp=(struct node *)malloc(sizeof(struct node))/creates new node data value passes as parameter *if( ==nullprintf("error\ ") lovely professional university