0

Cプログラミングでは、ポインタはdosベースシステムでは2バイト=16ビットです。ただし、ユーザー領域は64kb = 64 * 1024*8ビットまたは2^19ビットです。どうやって??

4

4 に答える 4

2

ポインターは、ビットではなくバイトを指します。それがあなたが混乱しているところです。

于 2012-09-14T18:59:58.357 に答える
2

ポインターは個々のビットをアドレス指定しません。それらはバイトをアドレス指定するため、16 ビットのポインターは 64 キロバイトをアドレス指定します。2^19 ビットですが、2^16 バイトしかありません。

于 2012-09-14T19:00:09.297 に答える
1

DOSでは、ビット アドレッシングではなく、バイト アドレッシングがあります。

于 2012-09-14T18:56:05.350 に答える
0

sizeof(pointer)通常はsizeof(int)

sizeof(pointer)=2 と仮定しないでください。コンパイラ/システム/環境を変更すると、以前にはなかった問題を突然デバッグしようとしていることに気付くからです。

于 2012-09-15T06:57:53.190 に答える