notes exit( ) -data np-link /makes the pointer pointing to itself because it is circular list*else temp /traverses the existing list to get the pointer to the last node of it *while (temp-link !ptemp temp-linktemp-link (struct node *)malloc(sizeof(struct node))/creates new node using data value passes as parameter and puts its address in the link field of last node of the existing list*if(temp -link =nullprintf("error\ ")exit( )temp temp-linktemp-data ntemp-link preturn ( )void printlist struct node * struct node *temptemp pprintf("the data values in the list are\ ")if( !nulldo printf("% \ ",temp->data)lovely professional university