কম্পিউটার টিউটোরিয়াল

সি ভাষায় পয়েন্টার অ্যাক্সেসিং ধারণা ব্যাখ্যা


পয়েন্টার হলো একটি ভেরিয়েবল যা অন্য ভেরিয়েবলের ঠিকানা সংরক্ষণ করে।

পয়েন্টার ডিক্লেয়ারেশন, ইনিশিয়ালাইজেশন ও অ্যাক্সেসিং

নিচের স্টেটমেন্টটি বিবেচনা করুন −

int qty = 179;

সি ভাষায় পয়েন্টার অ্যাক্সেসিং ধারণা ব্যাখ্যা

পয়েন্টার ডিক্লেয়ারেশন

int *p;

‘p’ হলো একটি পয়েন্টার ভেরিয়েবল যা অন্য একটি ইন্টিজার ভেরিয়েবলের ঠিকানা ধারণ করে।

পয়েন্টার ইনিশিয়ালাইজেশন

অ্যাড্রেস অপারেটর (&) পয়েন্টার ভেরিয়েবল ইনিশিয়ালাইজ করতে ব্যবহৃত হয়।

int qty = 175; int *p; p= &qty;

সি ভাষায় পয়েন্টার অ্যাক্সেসিং ধারণা ব্যাখ্যা

আসুন একটি উদাহরণ দেখি কীভাবে পয়েন্টার স্ট্রিং অ্যারেতে নির্দিষ্ট লোকেশনের এলিমেন্ট অ্যাক্সেস করতে সাহায্য করে।

এই প্রোগ্রামে, আমরা একটি নির্দিষ্ট লোকেশনে থাকা এলিমেন্ট অ্যাক্সেস করার চেষ্টা করছি। লোকেশনটি একটি অপারেশন দিয়ে খুঁজে বের করা যায়।

প্রি-ইনক্রিমেন্টেড পয়েন্টারকে প্রি-ইনক্রিমেন্টেড পয়েন্টার স্ট্রিংয়ের সাথে যোগ করে ৩২ বিয়োগ করলে সেই লোকেশনের মান পাওয়া যায়।

উদাহরণ

#include<stdio.h> int main(){    char s[] = {'a', 'b', 'c', '\n', 'c', '\0'};    char *p, *str, *str1;    p = &s[3];    str = p;    str1 = s;    printf("%d", ++*p + ++*str1-32);    return 0; }

আউটপুট

77

ব্যাখ্যা

p = &s[3]. i.e p = address of '\n'; str = p; i.e str = address of p; str1 = s; str1 = address of 'a'; printf ("%d", ++*p + ++*str1 - 32); i.e printf("%d", ++\n + a -32); i.e printf("%d", 12 + 97 -32); i.e printf("%d", 12 + 65); i.e printf("%d", 77); Thus 77 is outputted

  1. সি ভাষায় অ্যারে অফ পয়েন্টার এবং পয়েন্টার টু পয়েন্টার

  2. C ভাষায় ক্যারেক্টার অপারেশন ব্যাখ্যা

  3. সি ভাষায় ইউনিয়ন টু পয়েন্টার ব্যাখ্যা

  4. C#-তে ক্লাস কনসেপ্ট ব্যাখ্যা