2

書籍や組み込みシステム関連のサイトでこの例を数多く見てきました。私の理解では、その固定メモリ アドレスに格納されているデータにアクセスするためのものです。これは私がいくつかの本で得た例です。

unsigned char *p=(unsigned char *)0x41E;

型キャストの使用は何ですか(unsigned char *)。そこでは、次のように直接使用できました

unsigned char *p=0x41E;

詳細に説明してください、そこで型キャストを使用するのは何ですか。アドレス0x41E自体をポインターに格納するのpですか、それとも何か他のものが格納されますか?

私は完全に混乱しています。助けてください。

4

5 に答える 5

1

組み込み用の多くのコンパイラでは、特定のアドレスを指定する方法があることを考慮してください (IAR コンパイラなど)。

const unsigned char test_var @0x41E = 'a';

お役に立てれば

于 2013-10-07T12:24:10.627 に答える
0

chartype は C の移植性の一種ですchar *。c99 以降、各メモリ領域は a によってエイリアス化されることが許可されています。したがって、期待される型がわからない場合、または別の型を使用する必要がある場合でも、 の型を使用して型のchar *エイリアスを作成すると安全です。

また、いくつかの固定アドレスを使用する場合は、標準で 1 バイトになるように指定されているように、charタイプが最適な下位レベルのマシンで作業している可能性があります。char

于 2013-10-07T12:17:48.490 に答える