17

絶対値がわかっているアドレスに格納されている値を読みたかったのです。どうすればこれを達成できるのだろうと思っています。例えば。値が 0xff73000 に格納されている場合。次に、C コードを介してここに格納されている値を取得することは可能ですか。前もって感謝します

4

3 に答える 3

17

アドレスをポインターに割り当てるだけです。

char *p = (char *)0xff73000;

必要に応じて値にアクセスします。

char first_byte = p[0];
char second_byte = p[1];

ただし、動作はプラットフォームに依存することに注意してください。これは、プラットフォームの依存関係が問題にならない、ある種の低レベルの組み込みプログラミング用だと思います。

于 2013-09-11T12:30:48.973 に答える
17

ふたつのやり方:

1. アドレス リテラルをポインターとしてキャストします。

char value = *(char*)0xff73000;

リテラルを型へのポインターとしてキャストします。

接頭辞 を使用して逆参照します*

同じ手法が他のタイプにも適用されます。

2. アドレスをポインターに割り当てます。

char* pointer = (char*)0xff73000;

次に、値にアクセスします。

char value = *pointer;
char first_byte = pointer[0];
char second_byte = pointer[1];

charアドレスが表すタイプはどこにありますか。

于 2016-03-24T13:51:53.910 に答える