1

我有许多相互依赖的结构数组。我正在努力使用指向另一个结构数组中记录的成员变量指针。放 3 个结构供您参考

struct struct1 {
int node_id;
struct2* ptr; };

struct struct2 {
int node_id;
int type;
struct1* owner;
struct2* next;
struct2* previous;
struct3* block1;
struct3* block2; };

struct struct3 {
int node_id;
int n_entries;
struct3* next_block; };

现在我的问题是如何获取 struct1 的记录。我知道它可以像

struct1 pstruct1;

struct2 pstruct2;

pstruct.ptr = &pstruct2;

可能如果我在每个结构中都有一组记录。但是我应该为结构数组使用什么,如果它与此类似,

pstruct1[i].ptr = &pstruct2[j];

我如何找到“j”值?也可以用未定义的成员变量的参数结构编写一个通用函数,以便它接受从调用函数传递的结构?对不起,如果我的任何编码是错误的。提前致谢。

4

1 回答 1

1

这是对的

pstruct.ptr = &pstruct2;

这是对的

pstruct1[i].ptr = &pstruct2[j];

您的第一个问题“我如何找到 j 值?”

我不知道,这是您的程序,只有您可以知道它应该做什么以及应该如何计算 j。

你的第二个问题'也可以用未定义成员变量的参数结构编写一个通用函数,以便它接受从调用函数传递的结构吗?

我认为您在谈论模板功能。

template <class T>
void common_function(const T& struc)
{
}

您可以使用任何结构调用该函数。但是模板是一个困难的话题,你应该买一本关于 C++ 的书来解释它们。

于 2012-08-09T11:39:55.407 回答