【问题标题】:Accessing a structure in a function type void访问函数类型 void 中的结构
【发布时间】: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”中的值,然后在“测试器”内部访问它们。我不能这样做吗?

标签: pointers void


【解决方案1】:

我希望函数更改 struct 'x1' 中的值,然后在 'tester' 内部访问它们。

您可以通过访问(现在更改的)x1 来简单地访问更改的值,例如。 G。 x1.one.

【讨论】:

    猜你喜欢
    • 2011-02-06
    • 2011-08-11
    • 1970-01-01
    • 2023-03-18
    • 2022-01-05
    • 2018-12-05
    • 2011-08-14
    • 2012-10-16
    • 1970-01-01
    相关资源
    最近更新 更多