Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

อธิบายตัวชี้ Near Far Huge ในภาษา C


ขึ้นอยู่กับรุ่นหน่วยความจำและเซ็กเมนต์ ตัวชี้แบ่งออกเป็นสามประเภท -

  • ตัวชี้ใกล้
  • ตัวชี้ไกล
  • ตัวชี้ขนาดใหญ่

ตัวชี้ใกล้

  • เป็นพอยน์เตอร์ที่ใช้งานได้ในช่วงหน่วยความจำ 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