typedef struct MONSTER
{
...
var INIT_M;
...
}MONSTER;
typedef struct HERO
{
...
var INIT;
...
}HERO;
//initialisierung über enmies_create() und hero_create()
MONSTER* create_enemies()
{
MONSTER* enemy = (MONSTER*)malloc(sizeof(MONSTER));
...
enemy->INIT_M = 14;
...
return enemy;
}
int hero_order[3] = {0,1,2};
int cur_hr = 0;
HERO* create_hero()
{
HERO* hero = (HERO*)malloc(sizeof(HERO));
...
switch(hero_order[cur_hr])//hero_order enthält die werte 0,1,2
{
case 0:
...
hero->INIT = 16;
case 1:
...
hero->INIT = 12;
case 2:
...
hero->INIT = 15;
}
...
cur_hr++;
return hero;
}
//direkte übergabe des pointer an andere HERO pointer
void create_battle_startup()
{
HERO* hero0 = create_hero();
HERO* hero1 = create_hero();
HERO* hero2 = create_hero();
MONSTER* monster0 = create_enemies();
MONSTER* monster1 = create_enemies();
MONSTER* monster2 = create_enemies();
i= hero1.INIT; //hier entsteht das Problem
// i = 408
...