|
unsigned char near *np;nearポインターは、このうちnearを指定したときに使われるポインターである。
unsigned char far *fp;
unsigned char huge *hp;
unsigned char near *np;farポインターへの即値代入も可能だが、実装依存である。以下は一例。
unsigned char far *fp;
np = (unsigned char near*)fp;
unsigned char near *np;この場合、オフセット 0123 というアドレスに対するnearポインターとなる。このポインターを使えば、このアドレスに対して何かを書き込むことができる。
np = (unsigned char near *)0x0123;
*np = 0x00;
unsigned char near *np;この場合の動作は実装依存であり、結果については未定義である。オフセットのみを返す場合と、セグメント拡張をする場合とがある。
unsigned long l;
l = (unsigned long)np;