0
uint8_t * const LCDMem = (uint8_t *) &LCDM3;

このコードは、lcd構成用のmsp430fg4618トレーナーキットで使用されます。上記のコードの意味を誰か説明してもらえますか?

array LCDMem[]?の使用を許可します 方法がわかりません。

4

2 に答える 2

3

LCDMem は配列ではなく、ポインタです。このコードは LCDM3 の新しいアドレスを LCDMem に割り当てるため、実行後、LCDMem は LCDM3 を指します。LCDM3 に割り当てられたバイト数はわかりません。配列の場合もあれば、1 つだけの場合もあります。

于 2012-11-03T08:21:41.887 に答える
2

演算子(type) valueキャストと呼ばれ、あるタイプから別のタイプへの変換を実装します。

LCDM3この例のコードは、1つのポインター(のアドレス)を別のタイプのポインターにキャストします。これにより、まるでバイトの連続した配列(8ビットの符号なし整数)であるかのようにLCDM3、ポインタを介しての内容にアクセスできます。LCDMem

たとえばLDCM3、構造体オブジェクト、または構造体の配列の最初の要素である可能性があります。上記のキャストにより、基になるオブジェクトの個々のバイトを読み書きできます。

于 2012-11-03T08:20:00.700 に答える