Banyak bahasa pengaturcaraan menggunakan fungsi. Fungsi adalah satu set pernyataan untuk melaksanakan tugas tertentu. Kod utama boleh dibahagikan kepada beberapa fungsi dan memanggilnya. Terdapat dua cara untuk memanggil fungsi seperti panggilan mengikut nilai dan panggilan dengan rujukan. Dalam panggilan melalui kaedah nilai, salinan pembolehubah diluluskan ke dalam fungsi. Sekiranya terdapat perubahan dalam nilai fungsi, ia tidak mengubah nilai asal. Dalam panggilan melalui rujukan, perubahan pembolehubah di dalam fungsi mencerminkan nilai asal. The perbezaan utama antara panggilan mengikut nilai dan panggilan dengan rujukan adalah bahawa, dalam panggilan mengikut nilai, salinan pembolehubah diluluskan kepada fungsi dan panggilan melalui rujukan, alamat pembolehubah diluluskan kepada fungsi. Artikel ini membincangkan perbezaan antara panggilan dengan nilai dan panggilan dengan rujukan.
1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah Panggilan mengikut Nilai
3. Apakah Panggilan oleh Rujukan
4. Kesamaan Antara Panggilan mengikut Nilai dan Panggilan mengikut Rujukan
5. Perbandingan Side by Side - Panggilan mengikut Nilai vs Panggilan oleh Rujukan dalam Borang Tabular
6. Ringkasan
Dalam panggilan berdasarkan nilai, salinan pembolehubah diluluskan kepada fungsi. Fungsi itu mungkin mengubah nilai yang disalin itu tetapi ia tidak mengubah nilai asal. Konsep ini mudah difahami dengan menukar dua program nombor. Rujuk program C di bawah yang ditulis menggunakan persekitaran Blok Kod.
Rajah 01: Program Menukar Dua Nombor
Menurut program yang diberikan di bawah, pembolehubah 'a' mempunyai nilai 20 dan variabel 'b' mempunyai nilai 30. Apabila memanggil swap (a, b) berfungsi, kedua-dua nilai tersebut akan dihantar kepada fungsi swap. Dalam fungsi swap, 'a' disalin ke dalam 'x' dan 'b' disalin ke dalam 'y'. Sekarang, 'x' mempunyai nilai 20 dan 'y' mempunyai nilai 30. Dengan menggunakan pemboleh ubah temp, kedua nilai akan ditukar. Apabila mencetak nilai 'x' dan 'y' di dalam fungsi swap tersebut, output akan memberi 30 untuk 'x' dan 20 untuk 'y'. Apabila pelaksanaan fungsi swap selesai, kawalan kembali ke fungsi utama. Apabila mencetak nilai 'a' dan 'b', dalam fungsi utama, hasilnya akan menjadi nilai asal. Mereka adalah 20 untuk 'a' dan 30 untuk 'b'. Perubahan yang dibuat menggunakan fungsi swap tidak mencerminkan dalam program utama.
Rajah 02: Output Program Swapping
'x' dan 'y' di dalam fungsi swap mempunyai nilai swap yang 30 dan 20 tetapi nilai tersebut tidak boleh digunakan dalam program utama. Walaupun 'x' dan 'y' mempunyai nilai swap, mereka adalah pembolehubah tempatan untuk menukar fungsi dan tidak boleh diakses oleh fungsi utama. Untuk mengelakkan masalah ini, panggilan dengan rujukan boleh digunakan.
Dalam kaedah ini, alamat pembolehubah dihantar kepada fungsi. Rujuk program C di bawah yang ditulis menggunakan persekitaran Blok Kod.
Rajah 03: Pertukaran dua Nombor menggunakan Petunjuk
Menurut contoh yang diberikan di bawah, nilai 'a' ialah 20 dan nilai 'b' adalah 30. Daripada meluluskan salinan 'a' dan 'b', programmer boleh menghantar alamat 'a' dan 'b 'menggunakan fungsi, swap (& a, & b).
Rajah 04: Output Program Swapping menggunakan Petunjuk
Dalam swap, fungsi itu harus menggunakan petunjuk kerana alamat diluluskan dan alamat tersebut harus dipegang oleh petunjuk. Di dalam fungsi, alamat 'a' disalin ke 'x' dan alamat 'b' disalin ke 'y'. Menggunakan pembolehubah temp, nilai 'x' dan 'y' ditukarkan. Dalam panggilan ini melalui kaedah rujukan, perubahan dalam fungsi swap mencerminkan dalam program utama. Mencetak nilai-nilai 'a' dan 'b' di utama akan memberikan nilai yang bertukar. Sekarang output 'a' adalah 30 dan 'b' adalah 20. Apabila fungsi mengambil alamat pembolehubah, perubahan yang dibuat di dalam fungsi mempengaruhi nilai asal.
Panggilan Mengikut Nilai vs Panggilan Rujukan | |
Dalam panggilan oleh nilai, salinan pembolehubah diluluskan ke dalam fungsi supaya perubahan dibuat di dalam fungsi, tidak akan mengubah nilai asal. | Dalam panggilan melalui rujukan, alamat pembolehubah diluluskan kepada fungsi, jadi perubahan yang dibuat untuk pembolehubah di dalam fungsi, akan mengubah nilai asal. |
Pengubahsuaian Nilai | |
Dalam panggilan berdasarkan nilai, nilai asal tidak berubah. | Dalam panggilan melalui rujukan, nilai asal berubah. |
Panggilan mengikut nilai dan panggilan dengan rujukan adalah kaedah memanggil fungsi. Perbezaan antara panggilan dengan nilai dan panggilan dengan rujukan adalah bahawa dalam panggilan dengan nilai salinan pembolehubah diluluskan kepada fungsi dan dalam panggilan dengan rujukan, alamat pembolehubah diluluskan kepada fungsi. Menggunakan panggilan berdasarkan nilai atau panggilan melalui rujukan bergantung kepada tugas untuk melaksanakan.
Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti nota kutipan. Sila muat turun versi PDF di sini Perbezaan Antara Panggilan mengikut Nilai dan Panggilan mengikut Rujukan
1.Jaiswal, Haresh. "11 Panggil mengikut Nilai vs Panggilan mengikut Rujukan." Youtube, YouTube, 24 Disember 2015. Boleh didapati di sini