Cara Menyalin Tatasusunan dengan memmove() dalam Pengaturcaraan C

Cara Menyalin Tatasusunan Dengan Memmove Dalam Pengaturcaraan C



Tatasusunan ialah elemen asas dalam bahasa pengaturcaraan C, yang membolehkan pengaturcara menyimpan banyak item daripada jenis data yang sama dalam satu pembolehubah. Ada kalanya seorang pengaturcara mungkin perlu meniru kandungan satu tatasusunan kepada yang lain.

Apakah Fungsi memmove() itu

Fungsi perpustakaan C memmove() digunakan untuk menyalin sejumlah bait dari satu alamat memori ke alamat memori yang lain. Disebabkan fakta bahawa ia tidak terjejas oleh kawasan data yang bertindih, ia merupakan teknik penyalinan data yang berkesan dan produktif. Apabila menggunakan memmove() untuk menyalin tatasusunan, terdapat beberapa perkara yang perlu diingat. Fungsi ini mesti diberikan dua penunjuk, satu mewakili lokasi memori sumber dan satu lagi lokasi memori destinasi. Kuantiti bait yang anda ingin salin dari sumber ke destinasi juga mesti ditentukan.

The memmove() kaedah ialah fungsi fleksibel yang boleh mengendalikan sumber bertindih dan menyalin data dalam sebarang susunan dari mana-mana dalam ingatan. Satu-satunya kelemahan ialah ia mengambil masa lebih lama daripada kaedah penyalinan lain seperti memcpy().







Cara Menyalin Tatasusunan dengan memmove() dalam Pengaturcaraan C

The memmove() fungsi ditakrifkan dalam perpustakaan dan mempunyai sintaks:



batal * memmove ( batal * mulakan , const batal * src , saiz_t n ) ;

Penunjuk batal* dest menentukan tatasusunan destinasi, yang mana kandungan tatasusunan sumber akan disalin. Penunjuk kepada tatasusunan sumber yang ingin kita salin ialah const batal* src . Bilangan bait yang kita mahu salin daripada tatasusunan sumber ke tatasusunan destinasi ditentukan oleh hujah saiz_t n .



Sila lihat baris kod berikut, sebagai contoh:





#include

#include

int utama ( ) {

int source_array [ ] = { 1 , 2 , 3 , 4 , 5 } ;

int susunan_destinasi [ 5 ] = { 0 } ;

saiz_t saiz = saiz ( source_array ) ;

memmove ( susunan_destinasi , source_array , saiz ) ;

untuk ( int i = 0 ; i < 5 ; i ++ ) {

printf ( '%d ' , susunan_destinasi [ i ] ) ;

}

kembali 0 ;

}

Tatasusunan sumber dan tatasusunan destinasi pertama kali ditakrifkan dalam kod di atas. Tatasusunan destinasi pada mulanya kosong, tetapi tatasusunan sumber mempunyai elemen 1 hingga 5. Tatasusunan saiz() operator kemudiannya digunakan untuk menentukan saiz tatasusunan sumber, dan hasilnya disimpan dalam pembolehubah saiz. Kandungan tatasusunan sumber disalin ke tatasusunan destinasi.

Pengeluaran



Kesimpulan

Bahasa pengaturcaraan C menawarkan cara yang berkesan dan boleh dipercayai untuk menyalin tatasusunan dengan memmove() fungsi. Fleksibilitinya datang daripada keupayaannya untuk mengendalikan memori bertindih, dan kerana sintaksnya yang mudah, mana-mana projek C boleh menggunakannya.