阅读下列函数并回答问题。
typedefstructnode{
DataTypedata;
structnode木next;
}LinkNode;
TypedefLinkNode*Linklist;
voidDeleX(Linklisthead,DataTypex)
{
LinkNode*P,*q,*s;
P=head;q=P-->next;
while(q!=NULL)
if(q一>data==x){
s=q;q=q一>next;
free(s);p一>next=q;
}
else{
P=q;q=q一>next;
}
}
(1)执行该函数后,单链表head中data值为x的结点数是多少?
(2)该函数的功能是什么?