সি প্রোগ্রামিংয়ের পয়েন্টার এর কনসেপ্টটি অনেক সময় অনেকের কাছেই ক্লিয়ার নয় |তাই আজকের আলোচনার বিষয় হলো সি প্রোগ্রামিংয়ের পয়েন্টার | আজকের টিউটোরিয়ালটিতে আলোচনা করবো পয়েন্টার কি, পয়েন্টার কিভাবে ডিক্লেয়ার করা হয়,এবং সব থেকে দরকারী বিষয় যেটা পয়েন্টার কেন ব্যবহার করা হয় |
পয়েন্টার কি :
পয়েন্টার মানে হচ্ছে পয়েন্ট করা | অর্থাৎ নাম শুনেই বোঝা যাচ্ছে যে এটি কোনো একটি কিছুকে পয়েন্ট করে যার কারণে এটির নাম হচ্ছে পয়েন্টার |পয়েন্টার হচ্ছে একটি ভ্যারিয়েবল | এটি অন্য কোনো ভ্যারিয়েবল এর মতোই ব্যবহার করার পূর্বে ডিক্লেয়ার করে নিতে হয় | এটা অনেক সময় কনস্ট্যান্ট ভ্যারিয়েবল ও হতে পারে | আবার পয়েন্টার অনেক সময় null ও হতে পারে অর্থাৎ null বলতে বোঝায় যার মধ্যে কিছুই নেই |
পয়েন্টার কেন ব্যবহার করা হয় :
পয়েন্টার সাধারণত অন্য একটি ভ্যারিয়েবল এর address নির্দেশ করে থাকে | অন্য একটি ভ্যারিয়েবল কোন address এ সেভ আছে সেই address টি নির্দেশ করার জন্য পয়েন্টার ব্যবহার করা হয়ে থাকে |
পয়েন্টারের ডাটা টাইপ :
পয়েন্টারের ডাটা টাইপ int ,float ,double অথবা char হতে পারে|
পয়েন্টার কিভাবে ডিক্লেয়ার করা হয় :
পয়েন্টার ব্যবহার করার আগে অবশ্যই এটি অন্য সব ভ্যারিয়েবল এর মতোই ডিক্লেয়ার করে নিতে হবে| তবে অন্য সব ভ্যারিয়েবল এর সাথে এটার কিছু পার্থক্য আছে অন্য সব ভ্যারিয়েবল যে কোনো ভ্যালু ধারণ করার জন্য ব্যবহার করা হয় আর পয়েন্টার ব্যবহার করা হয় কোনো একটা ভ্যারিয়েবল কম্পিউটারের কোন লোকেশন এ আছে সেই এড্রেস টি ধারণ করার জন্য | এবং এটির আরেকটি পার্থক্য আছে অন্য সব ভ্যারিয়েবল শুধু নরমাল ভাবে ডিক্লেয়ার করা হয় কিন্তু পয়েন্টার ডিক্লেয়ার করার আগে এটির আগে একটি * সাইন ব্যবহার করা হয় |
উদাহরণ :
int *point ;
এখানে পয়েন্ট একটি পয়েন্টার ভ্যারিয়েবল যেটি নির্দেশ করছে অন্য একটি ভ্যারিয়েবলের এড্রেস |
এখন এড্রেসটিকে কিভাবে পয়েন্টার এ রাখবো সেটি দেখাবো
int a =30 ;
a একটি ভ্যারিয়েবল যার মান 30 |এখন এই a ভ্যারিয়েবলটির এড্রেসটিকে পয়েন্ট করবে b ভ্যারিয়েবলটি |
int *b ;
এখন b ভ্যারিয়েবল টির মধ্যে a এর এড্রেসটি সেভ করতে গেলে a ভ্যারিয়েবলটির সামনে একটি & অ্যাড করে দিলেই পয়েন্ট এর মধ্যে a এর এড্রেস সেভ হয়ে যাবে |
point =&a ; /* এডড্রেসটি স্টোর হলো */
এই ছিল পয়েন্টার সম্পর্কিত ধারণা |