uint8_t * const LCDMem = (uint8_t *) &LCDM3;
このコードは、lcd構成用のmsp430fg4618トレーナーキットで使用されます。上記のコードの意味を誰か説明してもらえますか?
array LCDMem[]
?の使用を許可します 方法がわかりません。
LCDMem は配列ではなく、ポインタです。このコードは LCDM3 の新しいアドレスを LCDMem に割り当てるため、実行後、LCDMem は LCDM3 を指します。LCDM3 に割り当てられたバイト数はわかりません。配列の場合もあれば、1 つだけの場合もあります。
演算子(type) value
はキャストと呼ばれ、あるタイプから別のタイプへの変換を実装します。
LCDM3
この例のコードは、1つのポインター(のアドレス)を別のタイプのポインターにキャストします。これにより、まるでバイトの連続した配列(8ビットの符号なし整数)であるかのようにLCDM3
、ポインタを介しての内容にアクセスできます。LCDMem
たとえばLDCM3
、構造体オブジェクト、または構造体の配列の最初の要素である可能性があります。上記のキャストにより、基になるオブジェクトの個々のバイトを読み書きできます。