মডিউল ১৫-১ঃ পয়েন্টারস ইন সি

আমরা গত আর্টিকেলে পয়েন্টার সম্পর্কে জেনেছি। একটি পয়েন্টার ভেরিয়েবল অন্য একটি ভেরিয়েবল এর এড্রেসকে স্টোর করে।

#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