Hai ragione, allora usa due puntatori...

codice:
Nodo1 *previous;

while (c1!=NULL){     
   previous=c1;
   c1 = c1->next;
}
previous->Next=p;
p->Next=c1;// se p->Next non è già stato precedentemente settato a null