Memmove() di C dan C++

Memmove Di C Dan C



Hari ini, kita akan mempelajari salah satu fungsi penting dari bahasa C dan C++ yaitu fungsi memmove(). Namun sebelum itu, mari kita lihat sekilas dasar-dasar bahasa C dan C++. Kami juga akan membahas fungsi apa saja yang ada di kedua bahasa C/C++.

Bahasa pemrograman C mudah dan cukup efektif untuk semua tujuan. Implementasi perangkat lunak seperti OS Windows, Basis Data, Penerjemah, dan alat lain dimungkinkan dengannya. C adalah bahasa yang bagus untuk pemula untuk belajar coding. Itu sebabnya pemrograman C dikenal sebagai bahasa ibu karena berfungsi sebagai dasar untuk semua bahasa komputer lainnya. Landasan bahasa pemrograman C++ didasarkan pada ide-ide pemrograman berorientasi objek (OOP). Pengguna dapat mengembangkan dan memahami prinsip-prinsip program dengan mudah karena C++ memiliki struktur yang jelas. Bahasa pemrograman C\C++ sangat serbaguna dalam melakukan banyak fungsi dan mengalihkan variabel dari satu jenis ke jenis lainnya. Fungsi memmove() adalah salah satu fungsi dari C/C++.







Fungsi memmove() mentransfer “num” byte secara bersamaan dari isi blok memori yang ditunjukkan oleh sumber menuju lokasi yang ditunjukkan oleh tujuan. Fungsi memmove() hanya bermanfaat ketika objek sumber dan tujuan tumpang tindih dan menghentikan terjadinya perilaku yang tidak terdefinisi. Untuk mempelajari lebih lanjut tentang fungsi memmove(), mari gali lebih dalam dan lihat bagaimana menerapkan sintaks dan contoh dalam fungsi memmove().



Sintaksis:

Berikut adalah gaya penulisan yang sama dan implementasi fungsi memmove() untuk bahasa C dan C++. Pertama, kita menulis kata kunci 'void' yang artinya jika fungsi tidak mengembalikan nilai apa pun, kita menulis nama fungsi yang ingin kita implementasikan yaitu fungsi memmove(). Dalam tanda kurung fungsi, kita menulis tujuan sehingga kita dapat menempatkan byte “num” dengan kata kunci “void”. Kemudian, kami menulis lokasi sumber dari mana kami mendapatkan 'num' byte.







Parameter:

tangan: Alamat ke lokasi penyimpanan tempat data disalin.

src: Alamat ke lokasi penyimpanan tempat data disalin.



menghitung: Jumlah data yang akan disalin dari sumber ke tujuan.

Nilai Pengembalian:

Sebagai imbalannya, kami mendapatkan alamat ke area memori target. Dest dikembalikan oleh fungsi memmove().

Contoh 1: Implementasi Fungsi Memmove() di C

Mari kita mulai menerapkan contoh bahasa C yang pertama dan sederhana. Untuk mulai menulis, pertama-tama kita memerlukan kompiler C agar kita dapat menulis dan menjalankan program. Untuk itu, buka kompiler C dan mulailah mengimplementasikan program.

#termasuk
# sertakan

int utama ( )
{
karakter ch1 [ ] = { 'L' , 'saya' , 'n' , 'di' , 'x' } ;

int panjang = ukuran ( bab 1 ) / ukuran dari ( bab 1 [ 0 ] ) ;

printf ( 'Sebelum menerapkan fungsi memmove(): ' ) ;
untuk ( int saya = 0 ; saya < panjangnya; saya++ )
{
printf ( '%c' , ch1 [ saya ] ) ;
}

arang * ch2 = & bab 1 [ dua ] ;
memmove ( ch2, ch1, ukuran ( arang ) * dua ) ;

printf ( ' \n \n Setelah menerapkan fungsi memmove(): ' ) ;

untuk ( int saya = 0 ; saya < 5 ; saya++ )
{
printf ( '%c ' , ch1 [ saya ] ) ;
}
kembali 0 ;

}


Kami selalu memulai dengan memasukkan modul program inti setelah memulai kompiler. Modul-modul ini adalah modul bahasa C yang dibundel. Kita hanya perlu mengetikkan satu baris kode untuk menyertakan modul ini, bukan lusinan baris kode untuk membuat modul. Indikator “#” memberi tahu penerjemah untuk memuat modul terlebih dahulu sebelum menggunakan kata kunci “sertakan” untuk menambahkan modul ke program. Modul 'stdio.h' berarti kompiler menerima data dari pengguna dan menunjukkannya kepada pengguna. Modul kedua dari program ini adalah “#include ” sehingga kita dapat menggunakan fungsi terkait string di program yang sudah ada.

Kemudian, kita memulai fungsi main() sehingga kita dapat menulis baris kode sebenarnya yang ingin kita implementasikan dalam program. Pada baris 6, kita mendeklarasikan nama larik karakter “ch1” dari tipe karakter. Kemudian, kami menetapkan nilai karakter untuk itu. Setelah itu, kami menghitung panjang 'ch1' dan mencetak input array 'ch1' menggunakan 'for loop'.

Setelah itu, kami mendeklarasikan pointer ke array 'ch2' dari karakter tipe dan menetapkan alamat array 'ch1' ke array 'ch2'. Kemudian, kami mencetaknya menggunakan pernyataan printf(). Mari kita lihat output dari ilustrasi sebelumnya:

Contoh 2: Implementasi Fungsi Memmove() di C++

Berikut adalah contoh dasar yang menunjukkan bagaimana fungsi memmove() bekerja dalam bahasa C++. Untuk mulai menulis, pertama-tama kita memerlukan IDE C++ agar kita dapat menulis dan menjalankan program. Untuk itu, buka kompiler C++ dan mulailah mengimplementasikan program.

Setelah membuka kompiler, kami selalu memulai dengan menyertakan file header yang diperlukan untuk bahasa pemrograman C++ agar program dapat berjalan. Untuk membuat program dan menggunakan metode memmove(), pertama-tama kita sertakan dua file header dasar – “iostream” dan “cstring”. C++ menyediakan beberapa cara untuk bekerja dengan array dan string. Fungsi ini tersedia untuk digunakan saat file header disertakan dalam program dengan file header “#include  ” yang digunakan untuk menyalin sejumlah byte data dari sumber ke tujuan. File header “#include ” digunakan untuk input dan output data dari pengguna. Kemudian, kami menggunakan 'namespace std' standar dalam kode kami untuk menggunakan sintaks standar bahasa pemrograman C++ sehingga kami dapat mencegah objek, metode, dan parameter mereferensikan cakupan yang sama di seluruh program.

#termasuk
#sertakan
menggunakan namespace std;

int utama ( )
{
char src [ lima puluh ] = '1234567890' ;
char tujuan [ lima puluh ] = '0987654321' ;

cout << 'Sebelum menerapkan memmove ke Tujuan:' << Mulailah << akhir;
memmove ( tujuan, src, 6 ) ;
cout << 'Setelah Menerapkan memmove to Destination:' << tangan

kembali 0 ;
}


Kita mulai menulis fungsi main() untuk memulai eksekusi baris kode yang sebenarnya. Pada baris 7, terdapat array tipe dua karakter dengan panjang 50 yang dideklarasikan sebagai “src[50]” dan “dest[50]”. Kami menggunakan pernyataan “cout” untuk mencetak pesan, “Before Applying memmove() to Destination: ”. Kemudian, kami melewatkan parameter 'dest' untuk mencetak nilai array 'dest'. Kemudian, fungsi memmove() diterapkan ke variabel tipe karakter yang dideklarasikan sebagai “src[50]” dan “dest[50]” untuk tumpang tindih sejumlah byte tertentu dari asal(src) ke target(dest) dengan jumlah “hitungan”. Ini mengidentifikasi jumlah byte yang disalin dari 'src' ke 'dest'. Seperti yang Anda lihat pada ilustrasi berikut, kami menyatakan angka hitungan '6'.

Setelah itu, kami menggunakan pernyataan 'cout' lagi untuk menampilkan pesan, 'Setelah Menerapkan memmove() ke Tujuan:', dan meneruskan array variabel 'dest' dari tipe 'karakter'. Untuk menghentikan program agar tidak berjalan, kita harus menggunakan pernyataan return di akhir program. Kami kemudian mengembalikan 0 ke fungsi utama, menunjukkan bahwa program dijalankan dengan sukses dan mencapai tujuannya.

Anda dapat melihat pada keluaran metode memmove() berikut ini bahwa jika terjadi tumpang tindih, misalnya saat penunjuk awal berpindah ke huruf 6, penunjuk akan terus mencetak dan karakter berikutnya akan tumpang tindih. Cuplikan kode C++ ini dijalankan dan hasilnya ditampilkan pada gambar berikut:

Kesimpulan

Pada artikel ini, kita belajar tentang fungsi memmove() dalam bahasa pemrograman C dan C++. Kami berbicara tentang bagaimana fungsi memmove() bekerja melalui contoh C dan C++ dengan penjelasan rinci dari setiap baris kode. Kami harap artikel ini membantu Anda dalam mengembangkan pengetahuan Anda tentang fungsi memmove() di C dan C++.