Hallo,
Du vermischt hier munter Strukturen und Arrays von Strukturen, ohne den
Zeigeraspekt von Arrays zu berücksichtigen.
F_Config ist in Deinem Fall ein Zeiger auf ein Array von zwei
Config-Strukturen, der mit F_Config[0] oder F_Config[1] dereferenziert
wird.
Config ist jedoch einfach direkt eine Struktur. Was Du möchtest, ist
jedoch die Adresse der Struktur ändern zu können. Daher muss Config als
Zeiger ausgebildet werden:
1 | struct PARAMETRIERUNG_T *Config;
|
Dann kannst Du Config zuweisen:
1 | if(jumper_set)
|
2 | Config = &(F_Config[0]);
|
3 | else
|
4 | Config = (&(F_Config[0]) + 0x100);
|
Zugreifen kannst Du dann wieder mit
oder einfacher mit
Liest Dich noch etwas in die Behandlung von Zeigern und Zeigern auf
Strukturen ein.
Alternativ kannst Du natürlich auch in Deiner Config-Strukt Dummy-Werte
vorsehen, die den Platz für zukünftige Parameter reservieren. Dann
funktioniert Dein alter Ansatz auch.
Schöne Grüße,
Martin