Доступ к структуре в типе функции void - PullRequest
2 голосов
/ 14 февраля 2020

Я видел другие похожие посты, но не могу понять это. Эта функция имеет определение этой функции:

struct number {
   int one;
   int two;
   int three;
   int four;
};

void foo(int move, struct number *f) {
//....
}

bool tester(void (*fp)(int, struct number *)) {
//...
}

Теперь, в функции 'foo', моя функция принимает структуру (как видно), но она изменяет значения в структуре (это цель эта функция «foo»)

Теперь внутри функции «тестер» я хочу иметь возможность получить доступ к новой структуре, которую «foo» дает мне при вызове.

Для Например, если бы у меня было это:

struct number x1 = {1, 2, 3, 4}

Я думал написать что-то вроде этого 'tester':

foo(1, &x1)

Но я понятия не имею, как получить доступ к новой структуре, как результат от foo (1, & x1).

1 Ответ

0 голосов
/ 14 февраля 2020

Я хочу, чтобы функция изменила значения в структуре 'x1' и затем получила к ним доступ внутри 'tester'.

Вы можете просто получить доступ к измененным значениям, открыв (теперь изменено) x1, например x1.one.

...