পয়েন্টার মেমরি অ্যাড্রেস সংরক্ষণ করে। ডিরেফারেন্সিং (* অপারেটর) দিয়ে ঐ অ্যাড্রেসের ভ্যালু পাওয়া যায়। অ্যারে নামই প্রথম এলিমেন্টের অ্যাড্রেস।
১. একক এলিমেন্ট অ্যাক্সেস
#include <iostream>
using namespace std;
int main() {
int arr[5] = {5, 2, 9, 4, 1};
int *ptr = &arr[2]; // 3rd element (index 2)
cout << "The value in the second index of the array is: " << *ptr;
return 0;
}
আউটপুট
The value in the second index of the array is: 9
২. পয়েন্টার দিয়ে পুরো অ্যারে ট্রাভার্স
#include <iostream>
using namespace std;
int main() {
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = &arr[0]; // or just arr
cout << "The values in the array are: ";
for (int i = 0; i < 5; i++) {
cout << *ptr << " ";
ptr++; // next element
}
return 0;
}
আউটপুট
The values in the array are: 1 2 3 4 5
ব্যাখ্যা
int *ptr = &arr[0];— পয়েন্টার প্রথম এলিমেন্টকে পয়েন্ট করে।*ptr— ভ্যালু এক্সেস (ডিরেফারেন্স)।ptr++— পয়েন্টার আরিথমেটিক: পরবর্তীint-এর সাইজ (৪ বাইট) এগিয়ে যায়।- অ্যারে নাম
arrনিজে একটি পয়েন্টার (কনস্ট্যান্ট) —arr == &arr[0]।
স्मরণীয়: পয়েন্টার অরিথমেটিক টাইপ-সেনসিটিভ। int* ++ করলে ৪ বাইট এগিয়ে যায়, char* ++ করলে ১ বাইট।