পয়েন্টার হল একটি ভেরিয়েবল যা অন্য ভেরিয়েবলের ঠিকানা সংরক্ষণ করে।
বৈশিষ্ট্যসমূহ
-
পয়েন্টার মেমরি স্পেস সংরক্ষণ করে।
-
মেমরি অবস্থানে সরাসরি অ্যাক্সেসের কারণে পয়েন্টার কার্যকর করার সময় দ্রুত হয়।
-
পয়েন্টারগুলির সাহায্যে, মেমরিটি দক্ষতার সাথে অ্যাক্সেস করা হয়, অর্থাত্, মেমরি বরাদ্দ করা হয় এবং গতিশীলভাবে ডিললোকেট করা হয়৷
-
ডেটা স্ট্রাকচারের সাথে পয়েন্টার ব্যবহার করা হয়।
পয়েন্টার এবং দ্বিমাত্রিক অ্যারে
একটি দ্বি-মাত্রিক অ্যারের জন্য মেমরি বরাদ্দ নিম্নরূপ -
int a[3] [3] = {1,2,3,4,5,6,7,8,9};
a[1] [2] = *(1234 + 1*3+2) = *(1234 + 3+2) = *(1234 + 5*4) // 4 is Scale factor = * (1234+20) = *(1254) a[1] [2] = 6
উদাহরণ
পয়েন্টার এবং দ্বি-মাত্রিক অ্যারে -
-এর জন্য C প্রোগ্রাম নিচে দেওয়া হল#include<stdio.h> main ( ){ int a[3] [3], i,j; int *p; clrscr ( ); printf ("Enter elements of 2D array"); for (i=0; i<3; i++){ for (j=0; j<3; j++){ scanf ("%d", &a[i] [j]); } } p = &a[0] [0]; printf ("elements of 2d array are"); for (i=0; i<3; i++){ for (j=0; j<3; j++){ printf ("%d \t", *(p+i*3+j)); } printf ("\n"); } getch ( ); }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
enter elements of 2D array 1 2 3 4 5 6 7 8 9 Elements of 2D array are 1 2 3 4 5 6 7 8 9