假定已建立以下鏈表結構,且指針p和q已指向如圖所示的結點:則以下選項中司將q所指結點從鏈表中刪
假定已建立以下鏈表結構,且指針p和q已指向如圖所示的結點:
則以下選項中司將q所指結點從鏈表中刪除并釋放該結點的語句組是______。
A.(*p).next=(*q).next; free(p);
B.p=q->next; free(q);
C.p=q; free(q);
D.p->next=q->next; free(q);
正確答案:D解析:本題題面要求刪除q所指結點并釋放該結點,而選項A中雖然是刪除了q所指鮚點,但并未釋放q這個結點,而釋放的是p結點,所以選項A錯誤;選項B是將q的下一結點的地址賦值給指針變量p,這意味著p原來的成員變量內容被q的下一結點的成員變量內容所代替,即原p結點也被刪除了,所以選項B錯誤;選項C相當于將q的所有成員變量內容代替了p的所有成員變量內容,即p結點被刪除,所以錯誤;選項D是將q的下—結點的地址賦值給p的成員next (成員next用于存放一結點的地址),使得p的next成員不再指向q,而是指向q的下
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。