C语言 传递多个参数或仅传递一个 ID



用C语言开发,我有一个结构,它由指向其他结构的指针组成,让我们说:

struct A {
    struct B  *pB;
    struct C  *pC;
    struct D  *pD;
    struct E  *pE;
};

现在,我有一个全局数组,其中包含该结构的 N=100 个项目:

struct A gl_array[100];

在处理上述数组中的一个项目时,我将特定项目包含的指针发送给某些函数。假设我将这些参数发送到名为 foo_func 的函数:

int foo_func(struct B *pB_, struct D *pD_)

我的问题 - 是只发送数组中项目的 ID 并在函数本身中获取其指针,还是将我想使用的参数发送到函数(如示例中所示)更好?处理这种情况的正确方法是什么?也许这根本不是问题,我可以使用这两种方法?

int foo_func(struct B *pB_, struct D *pD_)

如果不需要让 foo_func() 知道gl_array,则使函数更具通用性。

如果foo_func()是一个私有函数,我认为两者都可以。

相关内容

  • 没有找到相关文章

最新更新