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

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


মেমরি মডেল এবং সেগমেন্টের উপর নির্ভর করে, পয়েন্টার তিন প্রকারে ভাগ করা হয়:

  • নিয়ার পয়েন্টার
  • ফার পয়েন্টার
  • হিউজ পয়েন্টার

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

  • এটি একটি পয়েন্টার যা মেমরির ৬৪KB ডেটা সেগমেন্টের রেঞ্জের মধ্যে কাজ করে।

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

  • একটি নিয়ার পয়েন্টার অ্যারিথমেটিক অপারেটর ব্যবহার করে অ্যাড্রেস রেঞ্জ ইনক্রিমেন্ট বা ডিক্রিমেন্ট করা যায়।

  • near কীওয়ার্ড ব্যবহার করে যেকোনো পয়েন্টারকে নিয়ার পয়েন্টার বানানো যায়।

সিনট্যাক্স

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

 near   near 

নিচের স্টেটমেন্টটি ভেরিয়েবল s-এর জন্য একটি নিয়ার পয়েন্টার ডিক্লেয়ার করে:

char near *string;

প্রোগ্রাম

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

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

আউটপুট

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

2

ফার পয়েন্টার

  • এটি একটি পয়েন্টার যা অফসেট এবং সেগমেন্ট অ্যাড্রেস দুটোই সংরক্ষণ করে যাতে পয়েন্টার ডিফারেন্সিং করা হয়।

  • এটি সব ১৬ সেগমেন্ট অ্যাক্সেস করতে পারে।

  • একটি ফার পয়েন্টার অ্যাড্রেস ০ থেকে ১MB রেঞ্জে থাকে।

  • পয়েন্টার ইনক্রিমেন্ট বা ডিক্রিমেন্ট হলে শুধু অফসেট অংশ পরিবর্তন হয়।

সিনট্যাক্স

সিনট্যাক্স নিচে দেওয়া হল:

 far   far 

নিচের স্টেটমেন্টটি ভেরিয়েবল s-এর জন্য একটি ফার পয়েন্টার ডিক্লেয়ার করে:

char far *s;

প্রোগ্রাম

নিচের প্রোগ্রামটি ফার পয়েন্টারের ব্যবহার দেখায়।

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

আউটপুট

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

4

হিউজ পয়েন্টার

  • এটি একটি পয়েন্টার যা ফার পয়েন্টারের সাথে সাইজের দৃষ্টিতে মিলিত কারণ, দুটোই ৩২-বিট অ্যাড্রেস।

  • হিউজ পয়েন্টার সেগমেন্ট ওয়ার্কঅরাউন্ড ভোগ করা ছাড়া ইনক্রিমেন্ট করা যায়।

প্রোগ্রাম

নিচের প্রোগ্রামটি হিউজ পয়েন্টারের ব্যবহার দেখায়।

#include  int main(){    char huge *far *ptr;    printf("%d%d%d", sizeof(ptr), sizeof(*ptr), sizeof(**ptr));    return 0; }

আউটপুট

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

4 4 1
  1. সি ভাষায় পয়েন্টার দিয়ে অ্যারিথমেটিক অপারেশন

  2. C প্রোগ্রামিং ভাষায় অ্যারে অফ পয়েন্টার্স ব্যাখ্যা

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

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