সি প্রোগ্রামিং-এ মেমমোভ() দিয়ে কিভাবে অ্যারে কপি করবেন

Si Programim E Memamobha Diye Kibhabe A Yare Kapi Karabena



অ্যারেগুলি হল সি প্রোগ্রামিং ভাষার একটি মৌলিক উপাদান, যা একজন প্রোগ্রামারকে একটি একক ভেরিয়েবলে একই ডেটা টাইপের অসংখ্য আইটেম সংরক্ষণ করতে সক্ষম করে। এমন সময় আছে যখন একজন প্রোগ্রামারকে এক অ্যারের বিষয়বস্তু অন্য অ্যারের প্রতিলিপি করতে হবে।

memmove() ফাংশন কি?

সি লাইব্রেরি ফাংশন memmove() একটি মেমরি ঠিকানা থেকে অন্য মেমরি ঠিকানায় নির্দিষ্ট সংখ্যক বাইট অনুলিপি করতে ব্যবহৃত হয়। তথ্য ক্ষেত্র ওভারল্যাপিং দ্বারা এটি প্রভাবিত না হওয়ার কারণে, এটি ডেটা অনুলিপি করার একটি কার্যকর এবং উত্পাদনশীল কৌশল। ব্যবহার করার সময় memmove() একটি অ্যারে অনুলিপি করতে, কিছু জিনিস মনে রাখতে হবে। ফাংশনটিকে প্রথমে দুটি পয়েন্টার দিতে হবে, একটি উৎস মেমরি অবস্থান এবং অন্যটি গন্তব্য মেমরি অবস্থান। আপনি উৎস থেকে গন্তব্যে কপি করতে চান এমন বাইটের পরিমাণও নির্দিষ্ট করতে হবে।

দ্য memmove() মেথড হল একটি নমনীয় ফাংশন যা ওভারল্যাপিং সোর্স পরিচালনা করতে পারে এবং মেমরির যেকোনো জায়গা থেকে যেকোনো ক্রমে ডেটা কপি করতে পারে। একমাত্র ত্রুটি হল যে এটি অন্যান্য অনুলিপি পদ্ধতির চেয়ে একটু বেশি সময় নেয় memcpy()।







কিভাবে সি প্রোগ্রামিং এ memmove() দিয়ে অ্যারে কপি করবেন

দ্য memmove() ফাংশন সংজ্ঞায়িত করা হয় লাইব্রেরি এবং সিনট্যাক্স আছে:



অকার্যকর * memmove ( অকার্যকর * শুরু , const অকার্যকর * src , size_t n ) ;

নির্দেশক void* dest গন্তব্য অ্যারে নির্দিষ্ট করে, যেখানে উৎস অ্যারের বিষয়বস্তু অনুলিপি করা হবে। উৎস অ্যারের পয়েন্টার যে আমরা কপি করতে চাই const void* src . আমরা উৎস অ্যারে থেকে গন্তব্য অ্যারেতে যে বাইটের সংখ্যা কপি করতে চাই তা আর্গুমেন্ট দ্বারা নির্দিষ্ট করা হয় size_t n .



কোডের নিম্নলিখিত লাইনটি দেখুন, উদাহরণস্বরূপ:





# অন্তর্ভুক্ত করুন

#include

int প্রধান ( ) {

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

int গন্তব্য_অ্যারে [ 5 ] = { 0 } ;

size_t আকার = আকার ( source_array ) ;

memmove ( গন্তব্য_অ্যারে , source_array , আকার ) ;

জন্য ( int i = 0 ; i < 5 ; i ++ ) {

printf ( '%d' , গন্তব্য_অ্যারে [ i ] ) ;

}

ফিরে 0 ;

}

সোর্স অ্যারে এবং গন্তব্য অ্যারে অ্যারেগুলি প্রথমে উপরের কোডে সংজ্ঞায়িত করা হয়েছে। গন্তব্য অ্যারে প্রাথমিকভাবে খালি, কিন্তু উৎস অ্যারেটিতে 1 থেকে 5 পর্যন্ত উপাদান রয়েছে। আকার() অপারেটর তারপর সোর্স অ্যারের আকার নির্ধারণ করতে ব্যবহৃত হয়, এবং ফলাফল আকার ভেরিয়েবলে সংরক্ষিত হয়। উৎস অ্যারের বিষয়বস্তু গন্তব্য অ্যারে জুড়ে অনুলিপি করা হয়।

আউটপুট



উপসংহার

সি প্রোগ্রামিং ল্যাঙ্গুয়েজ এর সাথে অ্যারে কপি করার একটি কার্যকর এবং নির্ভরযোগ্য উপায় অফার করে memmove() ফাংশন এর বহুমুখিতা ওভারল্যাপিং মেমরি পরিচালনা করার ক্ষমতা থেকে আসে এবং এর সরল সিনট্যাক্সের কারণে যেকোন সি প্রকল্প এটি ব্যবহার করতে পারে।