構造体の配列で構造体メンバーのアドレスを取得しようとしましたが、そのメンバーの名前を使用したくありません。
次のようになります。
typedef struct{
unsigned char MrChar;
unsigned short MrShort;
unsigned long MrLong;
unsigned char MrArray[5];
}tModule;
static tModule taModulesArray[MODULES_AMOUNT] = { // MODULES_AMOUNT = 2
{0x22, 0x3298, 0x92324583, "djsoe"}, // Module 1
{0x33, 0x1843, 0x65644113, "gskwc"}, // Module 2
};
unsigned long usGetMemberAddr(unsigned long ulModule, unsigned long ulMember){
unsigned long Address;
Address = abs(taModulesArray_BaseAddress - taModulesArray[ulModule].[ulMember]);
return Address;
}
異なる構造体にある構成(EEPROM内)をすばやく変更するには、それが必要です。そこで、モジュールの番号とモジュールメンバーの1つのインデックスを取り、適切なメンバーのオフセットを返す関数を実行しようとしました。
復帰前にそのようなセリフが出る可能性はありますか?