মডিউল ১৫-১ঃ পয়েন্টারস ইন সি
আমরা গত আর্টিকেলে পয়েন্টার সম্পর্কে জেনেছি। একটি পয়েন্টার ভেরিয়েবল অন্য একটি ভেরিয়েবল এর এড্রেসকে স্টোর করে।
#include<stdio.h>
int main()
{
int x = 10;
int* p = &x; // এখানে আমরা একটি পয়েন্টার ভেরিয়েবল ডিক্লেয়ার করেছি যা int ভেরিয়েবল x কে পয়েন্ট করছে অর্থাৎ x এর এড্রেসকে স্টোর করছে।
printf("x er address = %p\n",&x); // x এর এড্রেস প্রিন্ট করা হচ্ছে।
printf("p er value = %p\n",p); // পয়েন্টার ভেরিয়েবল এর ভেলু প্রিন্ট করা হচ্ছে।
}কোড রান করলে দেখা যাবে সেইম আউটপুট প্রিন্ট হচ্ছে। তারমানে x এর এড্রেস এবং পয়েন্টার এর ভেলু আসলে একই।
আমরা আরেকটি কন্সেপ্ট দেখেছিলাম তা হলো ডিরেফারেন্সিং। পয়েন্টার যেই এড্রেস স্টোর করছে, সেই এড্রেস এ যেই ভেলুটি আছে তা এক্সেস করার পদ্ধতির নাম হলো ডিরেফারেন্সিং। শুধু এক্সেস না আমরা চাইলে পয়েন্টার এর মাধ্যমে ঐ ভেলুটি চেঞ্জও করে দিতে পারি।
#include<stdio.h>
int main()
{
int x = 10;
int* p = &x;
printf("x er value: %d\n",x); // x দিয়ে x এর ভেলু প্রিন্ট করা হচ্ছে।
printf("x er value: %d\n",*p); // পয়েন্টার দিয়ে x এর ভেলু প্রিন্ট করা হচ্ছে।
}কোড রান করলে দেখা যাবে সেইম আউটপুট প্রিন্ট হচ্ছে। তারমানে x এবং *p আসলে একই।
Last updated