【发布时间】:2020-02-14 13:00:59
【问题描述】:
我看过一些其他类似的帖子,但我似乎无法弄清楚。这个函数有这个函数定义:
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”的目的)
现在,在“tester”函数中,我希望能够访问“foo”在我调用它时提供给我的新结构。
例如,如果我有这个:
struct number x1 = {1, 2, 3, 4}
我正在考虑写这样的东西是'tester':
foo(1, &x1)
但由于 foo(1, &x1) 的结果,我不知道如何访问新结构。
【问题讨论】:
-
你必须意识到,由于
foo改变了结构中的值,不会有 由于 foo(1, &x1)。 -
但如果我调用 foo(1, &x1),我希望函数更改结构“x1”中的值,然后在“测试器”内部访问它们。我不能这样做吗?