আজকের Tutorial এ আমি c++ এর pointers নিয়ে আলোচনা করবো।প্রথমেই জেনে নেয়া যাক Pointer কী? pointer হলো এক ধরনের Data Type যা অন্য একটি Data Type এর Address স্টোর করে।আমরা যখন কোনো variable বানাই তখন এটি ram এ স্টোর করা থাকে আর র‍্যাম এ যেখানে স্টোর থাকে সেই ঠিকানাই হলো address ।অর্থাৎ,কোনো variable এর address যেখানে স্টোর করা হয় সেটিই হলো Pointer

Pointer কেন প্রয়োজন?

function বা class এর ভেতর যখন আমরা কোনো variable নিয়ে কাজ করি তখন সেগুলো local variable হয়।এক্ষেত্রে সেখানে কোনো variable এর value reassign করলে main function এ থাকা variable এর value change হয় না।এজন্য pointers ব্যবহার করে আমরা যেকোনো function এ variable এর address pass করে সেই variable টির value change করতে পারি।

এবার Pointers সম্পর্কে বিস্তারিত জেনে নেয়া যাক

pointers সম্পর্কে জানার আগে আমাদের দুটি operator সম্পর্কে জানতে হবে।সেগুলো হলো:

& → address of operator

* → dereference operator

কোনো variable এর address জানতে হলে আমরা & operator use করি।যেমন কোনো variable যদি হয় a তাহলে এর address হবে &a

এবার * operator সম্পর্কে জেনে নেয়া যাক।* operator ব্যবহার করে আমরা pointer variable declare করবো আবার * ব্যবহার করে pointer variable থেকে original variable এর value পাবো

এবার কিছু Example দেখে নেয়া যাক

প্রথমে x নামের একটি variable বানিয়ে নিই।

int x = 5;

এখন x এর address y নামের variable এ store করার জন্য লিখবো:

int x = 5;
int* y = &x;

pointer variable বানানোর জন্য যেই variable এর address store করবো সেটির data type এর পরে একটি * দিতে হবে।যেমন int হলে int*,string হলে string*

এবার y কে cout করলে x এর address দেখতে পাবো।

cout<<y;

Output:

0x7ffeeef92794

এখন x এর value print করতে লিখতে হবে:

cout<<*y;

এক্ষেত্রে, pointer variable এর নামের আগে * use করতে হবে।যেমন এখানে *y

output:

5

এখানে,y এর মধ্যে x এর address store করা আছে এখন অনেকেই প্রশ্ন করতে পারেন,y এর address আরেকটি pointer এ কীভাবে store করবো?তাহলে জেনে নেয়া যাক

এর আগে আমরা pointer বানানোর সময় data type এর পরে একটি * ব্যবহার করেছি।তবে,এবার ব্যবহার করতে হবে দুইটি *।এখন y এর address z এ store করতে চাইলে লিখতে হবে:

int x = 5:
int* y = &x;
int** z = &y;

এখন z এর মাধ্যমে x এর value print করতে চাইলে লিখতে হবে:

cout<<**z;

অর্থাৎ, এখানে ** use করতে হবে।

এটিই ছিল মূলত c++ এর pointers এর concept

 

 

2 thoughts on "C++ এ Pointers কী?"

Leave a Reply