A.void *addr =(char *)q->buf +q->rear *q->size;memcpy(addr,val,q->size);q->rear++;
B.void *addr =(char *)q->buf +q->rear *q->size;memcpy(val,addr,q->size);q->rear++;
C.void *addr =(char *)q->buf +q->front *q->size;memcpy(addr,val,q->size);q->front++;
D.void *addr =(char *)q->buf +q->front *q->size;memcpy(val,addr,q->size);q->front++;