Rumah >pembangunan bahagian belakang >C++ >Lulus Nilai atau Lulus Rujukan: Bagaimanakah Hujah Penunjuk Dikendalikan dalam C ?

Lulus Nilai atau Lulus Rujukan: Bagaimanakah Hujah Penunjuk Dikendalikan dalam C ?

Patricia Arquette
Patricia Arquetteasal
2024-12-05 09:05:11823semak imbas

Pass by Value or Pass by Reference: How are Pointer Arguments Handled in C  ?

Melalui Argumen Penunjuk: Lulus Nilai atau Lulus Rujukan?

Dalam C , hujah fungsi biasanya diluluskan dengan nilai, yang bermaksud a salinan pembolehubah argumen dibuat dalam fungsi. Ini juga terpakai pada hujah penunjuk, jadi apabila penuding dihantar ke fungsi, salinan pembolehubah penunjuk (bukan memori yang ditunjuk) dihantar.

Oleh itu, pengubahsuaian dibuat kepada pembolehubah penunjuk dalam fungsi , seperti menukar alamat yang ditunjukkannya, tidak akan menjejaskan penuding asal di luar fungsi. Walau bagaimanapun, perubahan yang dibuat pada memori yang ditunjuk melalui penuding dinyahrujuk, seperti mengubah suai nilai objek yang dirujuknya, akan dicerminkan di luar fungsi kerana objek itu sendiri sedang dirujuk, bukan penuding.

Dalam kes di mana anda perlu mengubah suai nilai penunjuk itu sendiri dalam fungsi, penunjuk kepada argumen penunjuk boleh digunakan. Dengan menghantar penunjuk kepada penuding, anda pada asasnya menghantar rujukan kepada pembolehubah penunjuk. Sebarang perubahan pada penuding dalam fungsi kemudiannya akan ditunjukkan dalam penuding asal di luar fungsi.

Teknik ini biasanya digunakan dalam C, di mana ia dikenali sebagai "laluan rujukan kepada penuding." Walau bagaimanapun, dalam C , penggunaan rujukan biasanya lebih diutamakan berbanding penunjuk, kerana ia menawarkan fungsi yang serupa dengan sintaks yang dipertingkatkan dan sokongan pengkompil.

Rujukan pada dasarnya adalah alias kepada pembolehubah lain dan apabila rujukan dihantar kepada fungsi , rujukan kepada pembolehubah asal diluluskan dengan berkesan. Ini bermakna sebarang perubahan yang dibuat pada rujukan dalam fungsi akan dicerminkan dalam pembolehubah asal di luar fungsi.

Kedua-dua argumen dan rujukan penuding kepada penuding boleh digunakan untuk mengubah suai nilai penuding dalam fungsi. Pilihan antara dua kaedah bergantung pada faktor seperti kerumitan kod, kebolehbacaan dan sokongan pengkompil.

Atas ialah kandungan terperinci Lulus Nilai atau Lulus Rujukan: Bagaimanakah Hujah Penunjuk Dikendalikan dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn