我尝试获取结构数组中某个结构成员的地址,但我不想使用该成员的名称。
它应该是这样的:
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 中)。所以我尝试做一个函数,它需要模块数量和模块成员之一的索引,并返回适当成员的偏移量。
在返回之前是否有可能出现类似该行的内容?