在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并在函数本身中使用它的指针,或者向函数发送我想要使用的参数,如示例中所示?处理此类案件的正确方法是什么?也许它根本不是问题,我可以使用这两种方法吗?
答案 0 :(得分:1)
int foo_func(struct B *pB_, struct D *pD_)
如果不需要让foo_func()知道gl_array,使函数更通用。
如果foo_func()是私有函数,我认为两者都可以。