13. Memory Address & Pointers
📘 কনসেপ্ট (থিওরি)
C তে যখন একটি ভেরিয়েবল তৈরি হয়, তখন ভেরিয়েবলটিতে একটি মেমোরি ঠিকানা বরাদ্দ করা হয়। আপনি রেফারেন্স অপারেটর
& ব্যবহার করে মেমোরি ঠিকানা পেতে পারেন।
int myAge = 43;
printf("%p", &myAge); // 0x7ffe5367e044 এর মতো কিছু আউটপুট দেবে
পয়েন্টার হলো এমন একটি ভেরিয়েবল যা অন্য ভেরিয়েবলের মেমোরি ঠিকানাকে তার মান হিসেবে সংরক্ষণ করে। একটি পয়েন্টার ভেরিয়েবল একই ধরনের ডেটা টাইপের (যেমন int) দিকে নির্দেশ করে এবং এটি
* অপারেটর দিয়ে তৈরি করা হয়।
int myAge = 43;
int* ptr = &myAge; // myAge এর দিকে পয়েন্টার
💡 উদাহরণ
পয়েন্টারের কাজ:
#include
int main() {
int myAge = 43; // একটি int ভেরিয়েবল
int* ptr = &myAge; // ptr নামের একটি পয়েন্টার ভেরিয়েবল, যা myAge এর ঠিকানা সংরক্ষণ করে
// myAge এর মান (43) আউটপুট দেয়
printf("%d\n", myAge);
// myAge এর মেমোরি ঠিকানা আউটপুট দেয়
printf("%p\n", &myAge);
// পয়েন্টার দিয়ে myAge এর মেমোরি ঠিকানা আউটপুট দেয়
printf("%p\n", ptr);
return 0;
}
🎯 আপনার কাজ (প্র্যাকটিস)
score = 100 নামের একটি int এবং এর দিকে নির্দেশকারী একটি পয়েন্টার ptr তৈরি করুন। পয়েন্টার ব্যবহার করে score এর মান প্রিন্ট করুন (*ptr ব্যবহার করে ডিরেফারেন্সিং)।main.c
Loading...
OUTPUT
Run your code to see the output here...