A far pointer is, in a Segmented architecture computer, a pointer which includes a segment number, making it possible to point to addresses outside of the current segment.
For example, in an Intel 8086, where an ordinary pointer is just a 16-bit offset within an implied segment, a far pointer has 32 bits: 16 bits for the segment plus 16 bits for the offset.
On 8086 C compilers, far pointers were so declared with a non-standard far qualifier. For example, "char far *p;" defined a far pointer to a char.