单项选择题

若有以下定义:
struct link
int data;
struct link * next;
a,b,c,*p,*q;
且变量a和b之间已有如下图所示的链表结构:


指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成新的链表的语句组是()

A) a.next=c;c.next=b;
B) p.next=q;q.next=p.next;
C) p->next=&c;q->next=p->next;
D) (*p).next=q;(*q).next=&b;