c++ - Mengapakah sub-fungsi yang dipaparkan dalam senarai terpaut perlu mempunyai pembolehubah?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 13:29:38
0
2
631
void display(link head)
{
    link p;
    p=head;
    if(p==NULL)
    printf("\nlist is empty");
    else do
    {
        printf("%d",p->data);
        p=p->next;
        
    }while(p!=NULL);
 } 

Buku itu mengatakan untuk memikirkan mengapa anda perlu menetapkan kepala kepada p dan bukannya menggunakannya secara langsung. Saya tidak faham mengapa.
pautan ialah penunjuk senarai terpaut

曾经蜡笔没有小新
曾经蜡笔没有小新

membalas semua(2)
習慣沉默

kepala adalah empat aksara lebih panjang daripada p.
Maksud kepala merujuk secara khusus kepada nod kepala, dan penunjuk yang digunakan semasa melintasi senarai terpaut akan menghala ke setiap nod senarai terpaut Maksud menggunakan kepala adalah tidak sesuai.

滿天的星座

@仁伟 telah menyebut satu sebab, kerana kami tidak mahu menggunakan "kepala" untuk melintasi keseluruhan senarai pautan.
Selain alasan ini, saya juga boleh memikirkan sebab lain, iaitu, kita perlu menyimpan salinan "kepala". Dalam fungsi ini, kita tidak perlu menggunakan "kepala" sekali lagi, tetapi untuk beberapa fungsi kompleks lain, kita mungkin mahu menggunakan "kepala" selepas merentasi senarai terpaut. Jika kami melintasi senarai terpaut secara terus menggunakan "kepala" dan bukannya "p", kami tidak akan dapat mengakses nod kepala lagi. Oleh itu, kita perlu menyimpan salinan "kepala", iaitu menggunakan p = head, bukannya terus menggunakan "kepala" untuk melintasi.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan