পয়েন্টার হলো একটি ভেরিয়েবল যা অন্য ভেরিয়েবলের ঠিকানা সংরক্ষণ করে।
পয়েন্টারের বৈশিষ্ট্য
পয়েন্টারের বৈশিষ্ট্যগুলো নিচে দেওয়া হলো −
মেমোরি স্পেস বাঁচায়
মেমোরি লোকেশনে সরাসরি অ্যাক্সেসের কারণে এক্সিকিউশন টাইম দ্রুত হয়।
পয়েন্টার দিয়ে মেমোরি কার্যকরভাবে অ্যাক্সেস হয় অর্থাৎ ডাইনামিক্যালি মেমোরি অ্যালোকেট ও ডি-অ্যালোকেট হয়।
পয়েন্টার ডেটা স্ট্রাকচারের সাথে ব্যবহার করা হয়।
সার্চ ডেমোনের একটি উদাহরণ −
পয়েন্টার ব্যবহার করে একটি স্ট্রিং-এ নির্দিষ্ট ক্যারেক্টার অ্যাক্সেস ও প্রিন্ট করা যায়।
নিচের উদাহরণটি দেখায় কীভাবে পয়েন্টার দিয়ে এলিমেন্ট অ্যাক্সেস করা যায় −
উদাহরণ
#include<stdio.h> int main(){ char array[5] = "Tutorial", *ptr, i, *ptr1; ptr = &array[1]; ptr1 = ptr + 3; *ptr1 = 101; for(i = 0; i < 4;i++) printf("%c", *ptr++); return 0; }আউটপুট
উপরোক্ত প্রোগ্রামে, পয়েন্টার ভেরিয়েবলের শুরু মান আপডেট করা হয়েছে অ্যারের দ্বিতীয় এলিমেন্টের ঠিকানা দিয়ে (Tutorial)। তারপর ১০১ মান ('e') ptr ভেরিয়েবলে যোগ করা হয়েছে। ফলে এটি utoe প্রিন্ট করে।
utoe
আরেকটি উদাহরণ বিবেচনা করুন −
উদাহরণ
#include<stdio.h> int main(){ char string[10] = "CprogRamming", *p, i, *p1; p = &string[5]; p1 = p + 3; *p1 = 101; for(i = 0; i < 4;i++) printf("%c", *p++); return 0; }আউটপুট
Rame