These are some old concepts used in 16 bit intel architectures in the days of MS DOS, not much useful anymore.
Near pointer is used to store 16 bit addresses means within current segment on a 16 bit machine. The limitation is that we can only access 64kb of data at a time.
A far pointer is typically 32 bit that can access memory outside current segment. To use this, compiler allocates a segment register to store segment address, then another register to store offset within current segment.
Like far pointer, huge pointer is also typically 32 bit and can access outside segment. In case of far pointers, a segment is fixed. In far pointer, the segment part cannot be modified, but in Huge it can be
See below links for more details.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Implement your own tail (Read last n lines of a huge file)
- Pointers in C and C++ | Set 1 (Introduction, Arithmetic and Array)
- Introduction of Smart Pointers in C++ and It's Types
- Dangling, Void , Null and Wild Pointers
- Difference between pointer to an array and array of pointers
- Features and Use of Pointers in C/C++
- Difference between Iterators and Pointers in C/C++ with Examples
- Why C treats array parameters as pointers?
- What are Wild Pointers? How can we avoid?
- Pointers in C/C++ with Examples
- Pointers vs References in C++
- Program to reverse an array using pointers
- The length of a string using pointers
- Output of C programs | Set 64 (Pointers)
- Applications of Pointers in C/C++
- Check if a string is palindrome in C using pointers
- Program to Reverse a String using Pointers
- C program to sort an array using pointers
- Chain of Pointers in C with Examples
- How many levels of pointers can we have in C/C++