Rumah  >  Soal Jawab  >  teks badan

c++ - Mengapakah sub-fungsi yang dipaparkan dalam senarai terpaut perlu mempunyai pembolehubah?

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

曾经蜡笔没有小新曾经蜡笔没有小新2685 hari yang lalu570

membalas semua(2)saya akan balas

  • 習慣沉默

    習慣沉默2017-05-16 13:31:38

    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.

    balas
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:31:38

    @仁伟 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.

    balas
    0
  • Batalbalas