Rumah >pembangunan bahagian belakang >C++ >Petunjuk dalam Fungsi C: Lulus Mengikut Nilai atau Rujukan?
Meluluskan Argumen Penunjuk dalam C : Lulus Nilai atau Lulus Rujukan?
Dalam C , ia adalah salah tanggapan biasa bahawa menghantar penunjuk hujah adalah bersamaan dengan nilai lulus. Walau bagaimanapun, ini tidak berlaku.
Penunjuk Dilalui Dengan Nilai
Apabila penuding dihantar ke fungsi, nilai bagi penunjuk, iaitu, alamat memori yang ditunjukkannya, disalin ke dalam memori tempatan fungsi. Ini bermakna bahawa sebarang perubahan yang dibuat pada penuding di dalam fungsi tidak akan menjejaskan pembolehubah penuding asal.
Menukar Nilai Ditunjuk
Walau bagaimanapun, perubahan yang dibuat pada nilai yang ditunjuk oleh penuding akan dicerminkan dalam pembolehubah asal. Ini kerana penunjuk itu sendiri menyimpan alamat objek asal, bukan objek itu sendiri.
Mengubah suai Nilai Penunjuk
Jika anda ingin mengubah suai nilai penunjuk dalam fungsi, anda perlu menggunakan penunjuk ke penuding. Apabila anda menghantar penuding ke penuding, alamat penuding asal disalin ke dalam fungsi. Ini membolehkan anda mengubah suai penuding asal dari dalam fungsi.
Amalan Piawai
Dalam C , boleh diterima dan dianggap amalan piawai untuk menggunakan penuding ke penuding sebagai hujah apabila anda perlu mengubah suai nilai penunjuk dalam fungsi. Ini adalah teknik biasa dalam C dan C , kerana rujukan tidak diperkenalkan sehingga versi C yang terkemudian .
Rujukan lwn. Penunjuk
Dalam C moden, rujukan diutamakan atas petunjuk atas beberapa sebab:
Walau bagaimanapun, rujukan tidak disokong dalam C , dan mereka melanggar peraturan nilai pas.
Atas ialah kandungan terperinci Petunjuk dalam Fungsi C: Lulus Mengikut Nilai atau Rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!