মৌলিকভাবে পয়েন্টার হলো এমন ভেরিয়েবল যা অন্য ভেরিয়েবলের অ্যাড্রেস সংরক্ষণ করে। যখন আমরা একটি ভেরিয়েবলের জন্য মেমরি অ্যালোকেট করি, পয়েন্টার সেই ভেরিয়েবলের অ্যাড্রেসকে পয়েন্ট করে। ইউনারি অপারেটর (*) ব্যবহার করে একটি ভেরিয়েবল ডিক্লেয়ার করা হয় এবং এটি অ্যালোকেটেড মেমরির অ্যাড্রেস রিটার্ন করে।
পয়েন্টারের সিনট্যাক্স:
datatype *variable_name;
এখানে,
- datatype − int, char, float ইত্যাদি ডেটা টাইপ।
- variable_name − ইউজার দেওয়া ভেরিয়েবলের নাম।
পয়েন্টারের উদাহরণ:
উদাহরণ
#include <stdio.h>
int main () {
int a = 8;
int *ptr;
ptr = &a;
printf("Value of variable : %d\n", a);
printf("Address of variable : %d\n", ptr);
printf("Value pointer variable : %d\n", *ptr);
return 0;
}
আউটপুট
Value of variable : 8 Address of variable : -201313340 Value pointer variable : 8
উপরের প্রোগ্রামে একটি ইন্টিজার ভেরিয়েবল 'a' এবং একটি পয়েন্টার ভেরিয়েবল '*ptr' ডিক্লেয়ার করা হয়েছে। ভেরিয়েবলের মান এবং পয়েন্টার ভেরিয়েবল দ্বারা সংরক্ষিত অ্যাড্রেস নিচে দেখানো হলো:
int a = 8; int *ptr; ptr = &a;