用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()是一个私有函数,我认为两者都可以。