Cara Membedakan Call By Address dan Call By Reference?

Perbedaan yang menonjol antara Call By Address dan Call By Reference adalah dalam panggilan berdasarkan alamat, alamat dari sebuah argumen menyalin ke parameter formal fungsi sementara, dalam panggilan dengan referensi, referensi dari sebuah argumen menyalin ke parameter formal. dari fungsi.

Secara umum, fungsi adalah seperangkat pernyataan yang memungkinkan melakukan tugas beberapa kali. Sebuah fungsi membantu membuat program lebih mudah dibaca. Dalam bahasa pemrograman, seperti C++ , eksekusi dimulai dari metode utama, dan dimungkinkan untuk memanggil fungsi atau metode lain dari metode utama. Bahasa-bahasa ini memiliki berbagai metode untuk memanggil suatu fungsi. Dua metode tersebut di C++ adalah “panggilan dengan alamat” dan “panggilan dengan referensi”.

Topik bahasan kami tentang:

  1. Apa itu Panggilan Berdasarkan Alamat -Definisi, Fungsionalitas 2. Apa itu Panggilan Dengan Referensi -Definisi, Fungsionalitas 3. Perbedaan Antara Panggilan Berdasarkan Alamat dan Panggilan Berdasarkan Referensi    -Perbandingan perbedaan utama

Istilah Utama

C++, Call By Address, Call By Pointer, Call By Reference, Fungsi, Pointer, Referensi

Yang perlu anda ketahui tentang Panggilan Berdasarkan Alamat

Call By Address juga dikenal sebagai Call By Pointer. Dalam metode ini, pemrogram meneruskan alamat argumen aktual ke parameter formal. Kemudian, fungsi menggunakan alamat untuk mengakses argumen yang sebenarnya. Dengan kata lain, perubahan yang dilakukan pada parameter formal mempengaruhi argumen yang sebenarnya. Untuk meneruskan nilai dengan pointer , pointer argumen diteruskan ke fungsi yang mirip dengan nilai lainnya. Contoh programnya adalah sebagai berikut.

Gambar 1: Program C++ dengan panggilan berdasarkan alamat

Ada dua bilangan bulat dalam program utama: a’ dan ‘b’. Alamat ‘a’ dan ‘b’ diteruskan ke fungsi. Jadi, fungsi mendapatkan alamat ini. Dan, variabel temp membantu menukar dua nilai. Kemudian, fungsi beroperasi pada nilai aktual menggunakan alamat. Maka dari itu, kita dapat mengamati bahwa perubahan yang dibuat di dalam fungsi terlihat di program utama. Akhirnya, kita dapat melihat bahwa kedua nilai tersebut ditukar. Sekarang ‘a’ memiliki 20, dan ‘b’ memiliki 10.

Yang perlu anda ketahui tentang Panggilan Dengan Referensi

Sebelum memahami konsep call by reference, penting untuk memahami konsep variabel referensi . Asumsikan kode di bawah ini.

int = 10;

int &b= a;

Di sini, b adalah variabel referensi. Variabel-variabel ini tidak menempati ruang memorinya sendiri. Maka dari itu, ia berbagi memori dari variabel yang sudah dialokasikan. Dengan kata lain, b berbagi memori a. Ketika programmer mengubah variabel aktual, variabel referensi juga berubah. Jika programmer mengubah a, itu tercermin dalam b, dan jika dia mengubah b, maka a akan menggunakan nilai b baru itu. Demikian juga, variabel referensi membantu menghemat memori.

Dalam panggilan dengan referensi, referensi argumen disalin ke parameter formal. Di dalam fungsi, programmer dapat menggunakan referensi untuk mengakses argumen yang sebenarnya. Maka dari itu, perubahan yang dilakukan pada parameter mempengaruhi argumen yang sebenarnya. Selanjutnya, untuk meneruskan nilai dengan referensi, referensi argumen diteruskan ke fungsi sama seperti nilai lainnya.

Gambar 2: Program C++ dengan panggilan dengan referensi

Dalam program utama, ada dua bilangan bulat dalam program utama: ‘a’ dan ‘b’. Kedua nilai tersebut diteruskan ke fungsi swap. Dalam fungsi swap, p dan q adalah parameter formal. &p dan &q menunjukkan bahwa mereka adalah variabel referensi. Kemudian fungsi swap membuat perubahan pada nilai. Akhirnya, nilai yang ditukar ditampilkan di konsol.

Perbedaan Antara Panggilan Berdasarkan Alamat dan Panggilan Berdasarkan Referensi

Definisi

Call By Address adalah cara memanggil fungsi di mana alamat argumen aktual disalin ke parameter formal. Tapi, panggilan dengan referensi adalah metode meneruskan argumen ke fungsi dengan menyalin referensi argumen ke parameter formal. Jadi, inilah perbedaan antara Call By Address dan Call By Reference.

Kegunaan

Selain itu, perbedaan lain antara Call By Address dan Call By Reference adalah fungsinya. Dalam panggilan dengan alamat, pemrogram meneruskan alamat argumen aktual ke parameter formal sementara, dalam panggilan dengan referensi, pemrogram meneruskan referensi argumen aktual ke parameter formal.

Alokasi memori

Selain itu, dalam panggilan berdasarkan alamat, memori dialokasikan untuk argumen aktual dan parameter formal sedangkan, dalam panggilan dengan referensi, memori dialokasikan hanya untuk argumen aktual dan parameter formal berbagi memori itu.

Kata terakhir

Singkatnya, Call By Address dan Call By Reference adalah dua metode untuk meneruskan nilai ke suatu fungsi. Perbedaan yang menonjol antara Call By Address dan Call By Reference adalah dalam panggilan berdasarkan alamat, alamat dari sebuah argumen menyalin ke parameter formal fungsi sementara, dalam panggilan dengan referensi, referensi dari sebuah argumen menyalin ke parameter formal. dari fungsi.

Sumber bacaan:

1.Gupta, Sanjay. 07 C Panggilan Berdasarkan Nilai, Panggilan Berdasarkan Alamat, dan Metode Panggilan Berdasarkan Referensi dari Panggilan Fungsi, YouTube, 3 Jan. 2017, Tersedia di sini . 2.Tutorialspoint.com. “Panggilan Fungsi C dengan Pointer.” www.tutorialspoint.com, Tersedia di sini . 3.Tutorialspoint.com. “Panggilan Fungsi C dengan Referensi.” www.tutorialspoint.com, Tersedia di sini .

Related Posts