কম্পিউটার

সি ল্যাঙ্গুয়েজে পয়েন্টার এক্সেসিংয়ের ধারণাটি ব্যাখ্যা কর


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

পয়েন্টার ঘোষণা, আরম্ভ এবং অ্যাক্সেস

নিম্নলিখিত বিবৃতিটি বিবেচনা করুন -

int qty = 179;

সি ল্যাঙ্গুয়েজে পয়েন্টার এক্সেসিংয়ের ধারণাটি ব্যাখ্যা কর

পয়েন্টার ঘোষণা করা হচ্ছে

int *p;

'p' হল একটি পয়েন্টার ভেরিয়েবল যা অন্য পূর্ণসংখ্যা ভেরিয়েবলের ঠিকানা ধারণ করে।

পয়েন্টারের সূচনা

ঠিকানা অপারেটর (&) একটি পয়েন্টার ভেরিয়েবল শুরু করতে ব্যবহৃত হয়।

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

সি ল্যাঙ্গুয়েজে পয়েন্টার এক্সেসিংয়ের ধারণাটি ব্যাখ্যা কর

আসুন একটি উদাহরণ বিবেচনা করি কিভাবে পয়েন্টারটি স্ট্রিং এর একটি অ্যারের উপাদানগুলি অ্যাক্সেস করতে কার্যকর।

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

প্রি-ইনক্রিমেন্টেড পয়েন্টার স্ট্রিং-এ প্রি-ইনক্রিমেন্টেড পয়েন্টার যোগ করে এবং 32 বিয়োগ করে, আপনি সেই অবস্থানে মান পাবেন।

উদাহরণ

#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# এ একটি শ্রেণীর ধারণা ব্যাখ্যা কর।