(注:uint8
はunsigned char
)のようなメモリ領域を定義したと考えてみましょう。
uint8 myMemoryArea[1024];
そして、私は次のような構造体を持っています:
typedef struct
{
uint8 * ptrToMyVar;
uint8 otherVar;
} myStruct_type;
myMemoryArea
の配列であると見なしたいmyStruct_type
ので、たとえば次のように、メモリ領域へのランダムアクセスを実行したいと思います。
myStruct_type * myPtrToStruct = (* myStruct_type)(&(myMemoryArea[ELEMENT_TO_ACCESS * sizeof(myStruct_type)]));
myPtrToStruct->otherVar = 2;
このマシンは独立したコードですか?位置合わせやパディングで問題が発生する可能性がありますか?を使用している限り、ここではパディングは問題ないと思いますsizeof
。
myMemoryArea
それがで割り切れるアドレスから始まることを確認する必要がありますsizeof(* char)
-おそらくそれをポインタの配列として定義しますか?