Far pointers are mainly used for 32 bit addressing that is the segment offset addressing. Normal pointers can onLy access the memory locations which is allocated by the compiler for that program. Far pointers are used for referencing memory locations beyond the data segment. For example referencing Video memory location we use char far * =0xb0008000; here 0xb000 is the segment address and 0x8000 is the offset address. Thanks
Above answer was rated as good by the following members: sunilkanna
hi all far pointer is always treated as a 32-bit pointer and contains both segment address and offset address ..BY using far pointer we can have multiple code segments which in turn allow u to have programs longer than 64KB
When the function is present out side the segment it requires base address and offsetaddress. To access the function the base and offset addersses are required to specify. This is like the far jump. The farpointer is a 32-bit pointer outside the segment. The segment size is based on the size of the IP register(Instruction Pointer ). Some times it is 64kb some times it is 32kb this depends on the processor.
Far pointers are mainly used for 32 bit addressing that is the segment offset addressing. Normal pointers can onLy access the memory locations which is allocated by the compiler for that program. Far pointers are used for referencing memory locations beyond the data segment. For example referencing Video memory location we use char far * 0xb0008000; here 0xb000 is the segment address and 0x8000 is the offset address. Thanks