সি প্রোগ্রামিং-এ মেমরি অ্যাড্রেস কী এবং এটি কীভাবে খুঁজে পাওয়া যায়?

Si Programim E Memari A Yadresa Ki Ebam Eti Kibhabe Khumje Pa Oya Yaya



পদ 'স্মৃতির ঠিকানা' ভিতরে সি প্রোগ্রামিং কম্পিউটারের মেমরির অবস্থানকে বোঝায় যেখানে ডেটা রাখা হয়। সরলীকৃত ভাষায়, ক মেমরি ঠিকানা এটি একটি রাস্তার ঠিকানার মতো যা কম্পিউটারকে সঞ্চিত তথ্য দ্রুত অ্যাক্সেস করতে সহায়তা করে। কম্পিউটারের মেমরিতে ডেটা কীভাবে সংরক্ষণ করা হয় তা বোঝার জন্য আপনাকে অবশ্যই বুঝতে হবে মেমরি ঠিকানা C. এর ধারণাটি উপলব্ধি করা গুরুত্বপূর্ণ সি-তে মেমরির ঠিকানা যেহেতু এটি দক্ষ প্রোগ্রাম তৈরির জন্য অপরিহার্য।

একটি মেমরি ঠিকানা কি?

মেমরি ঠিকানা একটি হেক্সাডেসিমেল সংখ্যা যা কম্পিউটারের মেমরিতে একটি প্রোগ্রামের ডেটা বা নির্দেশের অবস্থান সনাক্ত করে এবং নতুনদের জন্য বোঝা কঠিন হতে পারে। সরাসরি পড়তে এবং পরিবর্তন করতে মেমরি ঠিকানা , পয়েন্টার প্রয়োজন. একটি ভেরিয়েবলের ঠিকানা খুঁজে পেতে, '&' অ্যাম্পারস্যান্ড অপারেটর ব্যবহার করুন। একটি পয়েন্টার ভেরিয়েবল আছে যেখানে ঠিকানা রাখা হয়।

মেমরি কীভাবে সাজানো হয় তা বোঝা একটি বৃহত্তর বোঝার জন্য গুরুত্বপূর্ণ মেমরি ঠিকানা . সি প্রোগ্রামিংয়ে বাইট মেমরি তৈরি করে এবং ঠিকানাগুলি নির্দেশ করে যে প্রতিটি বাইটের শুরু কোথায় অবস্থিত। এটিকে অন্যভাবে বলতে গেলে, মেমরির প্রতিটি বাইট একটি অনন্য মেমরি ঠিকানা . একটি ভেরিয়েবল যা একটি সংখ্যা সংরক্ষণ করে বাইটে একটি নির্দিষ্ট পরিমাণ মেমরি স্থান নেয় এবং মেমরি ঠিকানা ভেরিয়েবলের প্রাথমিক বাইটের সাথে মিলে যায়।







কিভাবে একটি মেমরি ঠিকানা খুঁজে পেতে?

আমরা একটি খুঁজে পেতে পারেন দুটি উপায় আছে মেমরি ঠিকানা সি প্রোগ্রামিং ল্যাঙ্গুয়েজে।



পদ্ধতি 1: '&' অপারেটর ব্যবহার করা

সি প্রোগ্রামিং-এ '&' অপারেটর বা অ্যাম্পারস্যান্ড চিহ্ন ব্যবহার করা যেতে পারে একটি ভেরিয়েবল খুঁজে পেতে মেমরি ঠিকানা . এই অপারেটর প্রোগ্রামের মধ্যে ভেরিয়েবলের ঠিকানা পুনরুদ্ধার করে। এই পদ্ধতিটি আরও ভালভাবে বোঝার জন্য নীচের উদাহরণটি দেখুন।



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

int প্রধান ( ) {

int একের উপর = 40 ;

printf ( 'সংখ্যার মান হল %d \n ' , একের উপর ) ;

printf ( 'সংখ্যার মেমরি ঠিকানা হল %p৷ \n ' , এবং একের উপর ) ;

প্রত্যাবর্তন 0 ;

}

উপরের কোডে, একটি পূর্ণসংখ্যা পরিবর্তনশীল 'একের উপর' সঙ্গে মান 40 সংজ্ঞায়িত করা হয়. মুল্য 'একের উপর' এবং তার মেমরি ঠিকানা তারপর ব্যবহার করে মুদ্রিত হয় printf() ফাংশন এবং বিন্যাস নির্দিষ্টকরণ যথাক্রমে %d এবং %p। দ্য '&একের উপর' অভিব্যক্তি প্রদান করে মেমরি ঠিকানা এর সংখ্যা, যা পরবর্তীতে হেক্সাডেসিমেল বিন্যাসে %p ফর্ম্যাট স্পেসিফায়ার ব্যবহার করে দেখানো হয়।





আউটপুট



বিঃদ্রঃ: সি প্রোগ্রামিং-এ ফ্লোটিং-পয়েন্ট বা স্ট্রিং-টাইপ ভেরিয়েবলের ঠিকানা খোঁজার জন্য একই পদ্ধতি অনুসরণ করা যেতে পারে।

পদ্ধতি 2: একটি পয়েন্টার ব্যবহার করা

সি প্রোগ্রামিং-এও এটি নির্ধারণ করা সম্ভব মেমরি ঠিকানা একটি পয়েন্টার ব্যবহার করে। একটি মেমরি অঞ্চলের ঠিকানা একটি নির্দিষ্ট ডেটা টাইপের মধ্যে সংরক্ষিত থাকে যাকে সি ভাষায় একটি পয়েন্টার বলা হয়। কম্পিউটারের মেমরিকে ম্যানিপুলেট করতে প্রায়শই সেগুলি সি-তে ব্যবহার করা হয়। খুঁজে বের করতে মেমরি ঠিকানা পয়েন্টার ব্যবহার করে সি প্রোগ্রামিং-এ, নীচের প্রদত্ত পদক্ষেপগুলি অনুসরণ করুন:

ধাপ 1: একটি সনাক্তকরণের প্রাথমিক ধাপ মেমরি ঠিকানা একটি পয়েন্টার ভেরিয়েবল তৈরি করা হয়. সি-তে একটি পয়েন্টার ভেরিয়েবল তৈরি করতে, ভেরিয়েবলের নামের আগে একটি থাকে তারকাচিহ্ন (*) . নীচের কোডটি ব্যাখ্যা করে কিভাবে এটি তৈরি করতে হয় 'ptr' পয়েন্টার পরিবর্তনশীল।

int * ptr ;

বিঃদ্রঃ: পয়েন্টার ভেরিয়েবলে সংরক্ষিত ভেরিয়েবলের মেমরি অবস্থান দ্বারা নির্দেশিত হয় তারকাচিহ্ন (*) . এই প্রক্রিয়াটিকে ডিরেফারেন্সিং বলা হয়।

ধাপ ২: পয়েন্টার ভেরিয়েবলটিকে তারপর মেমরিতে একটি অবস্থান দেওয়া হবে। দ্য মেমরি ঠিকানা একটি বিদ্যমান ভেরিয়েবল ব্যবহার করে পয়েন্টার ভেরিয়েবলের জন্য নির্ধারিত হয় '&' অপারেটর. এখানে একটি সহজ উদাহরণ:

int ছিল = 5 ;

int * ptr = এবং ছিল ;

নিম্নলিখিত উদাহরণটি দেখায় a মেমরি ঠিকানা সি ব্যবহার করে a নির্দেশক .

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

int প্রধান ( ) {

int সংখ্যা = 100 ;

int * ptr = এবং সংখ্যা ;

printf ( 'সংখ্যা ভেরিয়েবলের মেমরি ঠিকানা: %p \n ' , ptr ) ;

প্রত্যাবর্তন 0 ;

}

উপরের কোডটি একটি পয়েন্টার ভেরিয়েবল ঘোষণা করে ptr একটি পূর্ণসংখ্যা ভেরিয়েবলের ঠিকানা নির্দেশ করতে সংখ্যা 100 এর মান সহ printf() তারপর ফাংশনটি প্রিন্ট করতে ব্যবহৃত হয় মেমরি ঠিকানা %p ফর্ম্যাট স্পেসিফায়ার ব্যবহার করে একটি সংখ্যার, যা হেক্সাডেসিমেল বিন্যাসে মেমরি ঠিকানা প্রিন্ট করে।

আউটপুট

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

উপসংহার

সি প্রোগ্রামিং এ, মেমরি ঠিকানা ডেটা পরিবর্তন এবং অ্যাক্সেস করার জন্য গুরুত্বপূর্ণ। প্রোগ্রামিং সফল হওয়ার জন্য, কীভাবে খুঁজে পাওয়া যায় তা বোঝা অপরিহার্য মেমরি ঠিকানা . সি প্রোগ্রামিং এ আমরা ব্যবহার করি অ্যাম্পারস্যান্ড অপারেটর (&) এবং খুঁজে পেতে একটি পয়েন্টার মেমরি ঠিকানা . পয়েন্টার হিসাবে সরাসরি অ্যাক্সেস এবং পরিবর্তন করতে ব্যবহার করা যেতে পারে মেমরি ঠিকানা , তারা প্রোগ্রাম বাস্তবায়নের জন্য গুরুত্বপূর্ণ. প্রোগ্রামাররা ব্যবহার করতে পারেন মেমরি ঠিকানা এই মৌলিক বিষয়গুলো মাথায় রেখে সফল কোড লিখতে।