كيفية نسخ المصفوفات باستخدام memmove () في البرمجة بلغة سي

Kyfyt Nskh Almsfwfat Bastkhdam Memmove Fy Albrmjt Blght Sy



المصفوفات هي عنصر أساسي في لغة البرمجة C ، والتي تمكن المبرمج من تخزين العديد من العناصر من نفس نوع البيانات في متغير واحد. هناك أوقات قد يحتاج فيها المبرمج إلى نسخ محتويات مصفوفة إلى أخرى.

ما هي وظيفة memmove ()

وظيفة مكتبة C. memmove () يستخدم لنسخ عدد معين من البايت من عنوان ذاكرة إلى آخر. نظرًا لحقيقة أنها لا تتأثر بتداخل مناطق البيانات ، فهي تقنية فعالة ومنتجة لنسخ البيانات. عند استخدام memmove () لنسخ مصفوفة ، هناك بعض الأشياء التي يجب وضعها في الاعتبار. يجب أولاً إعطاء الوظيفة مؤشرين ، أحدهما يمثل موقع ذاكرة المصدر والآخر موقع ذاكرة الوجهة. يجب أيضًا تحديد كمية البايت التي تريد نسخها من المصدر إلى الوجهة.

ال memmove () الطريقة هي وظيفة مرنة يمكنها التعامل مع المصادر المتداخلة ونسخ البيانات بأي ترتيب من أي مكان في الذاكرة. العيب الوحيد هو أنه يستغرق وقتًا أطول قليلاً من طرق النسخ الأخرى مثل memcpy ().







كيفية نسخ المصفوفات باستخدام memmove () في البرمجة بلغة سي

ال memmove () يتم تعريف الوظيفة في مكتبة ولها بناء الجملة:



فارغ * memmove ( فارغ * يبدأ و مقدار ثابت فارغ * src و size_t ن ) ؛

المؤشر باطل * دست يحدد المصفوفة الوجهة ، والتي سيتم نسخ محتويات المصفوفة المصدر إليها. المؤشر إلى المصفوفة المصدر الذي نريد نسخه هو ثابت باطل * SRC . يتم تحديد عدد البايتات التي نريد نسخها من المصفوفة المصدر إلى المصفوفة الوجهة بواسطة الوسيطة size_t n .



ألق نظرة على سطر التعليمات البرمجية التالي ، على سبيل المثال:





# تضمين

# تضمين

int رئيسي ( ) {

int المصدر_array [ ] = { 1 و 2 و 3 و 4 و 5 } ؛

int وجهة_عرى [ 5 ] = { 0 } ؛

size_t مقاس = حجم ( المصدر_array ) ؛

memmove ( وجهة_عرى و المصدر_array و مقاس ) ؛

ل ( int أنا = 0 ؛ أنا < 5 ؛ أنا ++ ) {

printf ( '٪د ' و وجهة_عرى [ أنا ] ) ؛

}

يعود 0 ؛

}

يتم تعريف مصفوفة مصفوفة المصدر ومصفوفات مصفوفة الوجهة أولاً في الكود أعلاه. مصفوفة الوجهة فارغة في البداية ، لكن المصفوفة المصدر بها عناصر من 1 إلى 5. ملف حجم() ثم يتم استخدام عامل التشغيل لتحديد حجم مصفوفة المصدر ، ويتم حفظ النتيجة في متغير الحجم. يتم نسخ محتويات المصفوفة المصدر عبر المصفوفة الوجهة.

انتاج |



خاتمة

توفر لغة البرمجة C طريقة فعالة ويمكن الاعتماد عليها لنسخ المصفوفات بامتداد memmove () وظيفة. يأتي تنوعها من قدرتها على التعامل مع الذاكرة المتداخلة ، وبسبب تركيبها المباشر ، يمكن لأي مشروع C استخدامها.