কম্পিউটার

C ভাষায় Near Far Huge পয়েন্টার ব্যাখ্যা কর


মেমরি মডেল এবং সেগমেন্টের উপর নির্ভর করে, পয়েন্টারগুলিকে তিন প্রকারে শ্রেণীবদ্ধ করা হয় -

  • পয়েন্টারের কাছাকাছি
  • দূর নির্দেশক
  • বিশাল পয়েন্টার

পয়েন্টারের কাছাকাছি

  • এটি একটি পয়েন্টার যা মেমরির 64Kb ডেটা সেগমেন্টের পরিসরে কাজ করে।

  • এটি সেই ডেটা সেগমেন্টের বাইরে ঠিকানা অ্যাক্সেস করতে পারে না৷

  • একটি কাছাকাছি পয়েন্টার একটি গাণিতিক অপারেটর ব্যবহার করে ঠিকানা পরিসীমা বৃদ্ধি বা হ্রাস করা যেতে পারে৷

  • কাছাকাছি কীওয়ার্ড দিয়ে, আমরা যেকোনো পয়েন্টারকে কাছাকাছি পয়েন্টার হিসেবে তৈরি করতে পারি।

সিনট্যাক্স

সিনট্যাক্স নিম্নরূপ -

<data type> near <pointer definition>
<data type> near <function definition>

নিম্নলিখিত বিবৃতিটি পরিবর্তনশীল s

-এর জন্য একটি কাছাকাছি পয়েন্টার ঘোষণা করে
char near *string;

প্রোগ্রাম

নিম্নলিখিত প্রোগ্রাম কাছাকাছি পয়েন্টার ব্যবহার দেখায়.

#include<stdio.h>
int main(){
   int number=50;
   int near* p;
   p=&number;
   printf("%d",sizeof(p));
   return 0;
}

আউটপুট

আউটপুট নিম্নরূপ -

2

দূর পয়েন্টার

  • এটি একটি পয়েন্টার যা অফসেট এবং সেগমেন্ট ঠিকানা উভয়ই সঞ্চয় করে যেখানে পয়েন্টারটি আলাদা।

  • এটি সমস্ত 16টি সেগমেন্ট অ্যাক্সেস করতে পারে৷

  • একটি দূরের পয়েন্টার ঠিকানা 0 থেকে 1MB পর্যন্ত।

  • যখন পয়েন্টার বৃদ্ধি বা হ্রাস করা হয়, শুধুমাত্র অফসেট অংশ পরিবর্তন হয়।

সিনট্যাক্স

বাক্য গঠন নিচে দেওয়া হল -

<data type> far <pointer definition>
<data type> far <function definition>

নিম্নলিখিত বিবৃতিগুলি পরিবর্তনশীল s

-এর জন্য একটি দূর নির্দেশক ঘোষণা করে
char far *s;

প্রোগ্রাম

নিম্নলিখিত প্রোগ্রামটি দূর পয়েন্টারের ব্যবহার দেখায়।

#include<stdio.h>
int main(){
   int number=50;
   int far *p;
   p=&number;
   printf("%d",sizeof number);
   return 0;
}

আউটপুট

আউটপুট নিম্নরূপ -

4

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

  • এটি একটি পয়েন্টার যা আকারের দিক থেকে দূরের পয়েন্টারের মতো কারণ, উভয়ই 32-বিট ঠিকানা।

  • বিশাল পয়েন্টারটি সেগমেন্টের কাজের রাউন্ডের সাথে কষ্ট না করে বৃদ্ধি করা যেতে পারে।

প্রোগ্রাম

নিম্নলিখিত প্রোগ্রামটি বিশাল পয়েন্টারের ব্যবহার দেখায়।

#include<stdio.h>
Int main(){
   Char huge *far *ptr;
   Printf("%d%d%d",sizeof(ptr),sizeof(*ptr),sizeof(**ptr));
   Return 0;
}

আউটপুট

আউটপুট নিম্নরূপ -

4 4 1

  1. সি ভাষায় পয়েন্টার ব্যবহার করে গাণিতিক ক্রিয়াকলাপ ব্যাখ্যা কর?

  2. সি প্রোগ্রামিং ভাষায় পয়েন্টারগুলির বিন্যাস ব্যাখ্যা কর

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

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