মডিউল ১৪-৮ঃ পয়েন্টার
আমরা অনেক ধরনের ভেরিয়েবল নিয়ে কাজ করেছি। আমরা জানি এই ভেরিয়েবলগুলো মেমরিতে সেইভ থাকে। প্রতিটি মেমরির একটি এড্রেস থাকে। আমরা যদি এড্রেসটি দেখতে চাই তাহলে এভাবে লিখতে পারিঃ
কোডটি রান করলে দেখব শুরুতে x এর মান প্রিন্ট হচ্ছে তারপর তার এড্রেস। এড্রেসটি হেক্সাডেসিমেল ফরম্যাটে প্রিন্ট হবে। এড্রেস প্রিন্ট করতে হলে আমাদের %p ব্যাবহার করতে হয়। এবং ভেরিয়েবল এর আগে & দিতে হয়।
এবার আমাদের যদি কখনো এই এড্রেসটি স্টোর রাখতে হয় তাহলে আমরা একটি পয়েন্টার ভেরিয়েবল নিতে পারি। পয়েন্টার ভেরিয়েবল অন্য একটি ভেরিয়েবল এর এড্রেসকে স্টোর করে। পয়েন্টার ভেরিয়েবল ডিক্লেয়ার করার সিন্টেক্সঃ data_type ( যেই ভেরিয়েবল এর এড্রেস স্টোর করা হবে তার ডাটা টাইপ ) * pointer_variable_name = & variable_name ( যেই ভেরিয়েবল এর এড্রেস স্টোর করা হবে )
কোডটি রান করলে আমরা দেখতে পাব সরাসরি x এর এড্রেস প্রিন্ট করা এবং x এর এড্রেস একটি পয়েন্টার ভেরিয়েবলে রেখে তারপর সেই পয়েন্টার প্রিন্ট করা দুইক্ষেত্রেই আমরা সেইম আউটপুট পাচ্ছি।
পয়েন্টার ভেরিয়েবল এর সুবিধা হচ্ছে পয়েন্টার যাকে পয়েন্ট করছে তাকে সরাসরি এক্সেস করা যায় এমনকি সেই ভেরিয়েবল এর মান ও চেঞ্জ করে দেওয়া যায়। এটিকে বলা হয় ডিরেফেরেন্সিং। পয়েন্টার ভেরিয়েবল এর আগে * এই সাইনটি দিয়ে যাকে পয়েন্ট করছে তার ভেলু এক্সেস করা যায়।
এখানে আমরা শুরুতে পয়েন্টার দিয়ে x এর মান প্রিন্ট করে দেখলাম x এর মান যা ছিল তাই প্রিন্ট হয়েছে। তারপর পয়েন্টার দিয়ে x এর মান চেঞ্জ করে দেখা গেল x এর মানও চেঞ্জ হয়ে গিয়েছে।
গিটবুক গুলো আপনাদের কেমন লাগছে? এই ফর্মটি ফিলাপ করে আমাদের জানাতে পারেন। https://forms.gle/7MWEvWcUeKVKrLnn8
Last updated