Давайте рассмотрим этот код в качестве примера
#include <stdio.h>
typedef struct
{
int hp;
}Player;
void lessHp(Player a)
{
printf("a.hp = %d\n", a.hp);
(*Player) -> hp -= 1;
printf("a.hp now = %d\n", a.hp);
}
int main()
{
Player a;
a.hp = 1;
lessHp(a);
printf("a.hp = %d\n", a.hp);
return 0;
}
Теперь эта программа печатает:
a.hp = 1
a.hp now = 0
a.hp = 1
Но как я могу сделать так, чтобы функция lessHp действительно могла вычесть 1 из этого значения? При попытке сделать это по ссылке он говорит мне использовать ("->"), но я действительно, действительно не знаю, что это такое (я использовал только простые указатели, единственное, с чем я работал с указателями) такое динамическое распределение памяти).