关于C中结构和指针的困难

时间:2016-09-06 08:04:17

标签: c++ c pointers structure double-pointer

我目前在访问双指针时遇到一些问题。 1.双指针是结构的一个元素。 2.双指针也是另一个结构的实例。 3.该结构还包含一个显式为typedef声明的char类型变量的元素。

例如。 主要结构就是这个。

typedef struct SomeOne
{
    NodeT **aOthers;
    int   height;
} SomeOne;

NodeT的定义如下:

typedef struct NodeT
{
    NodeItemT info;
} NodeT;

NodeItemT的定义如下:

typedef char NodeItemT;

现在从main函数我想为

添加一个值
NodeT **aOthers;

我必须声明SomeOne结构如下:

SomeOne* somePerson;

现在来自somePerson,如果我要将价值存储到" ** aOthers"我要做什么? 要添加一个值,我将定义一个函数:

void padd(SomeOne *somePerson, NodeItemT item);

现在有人可以帮我定义这个功能吗?

1 个答案:

答案 0 :(得分:1)

以下是您的类型:

typedef char NodeItemT;
typedef struct
{
    NodeItemT info;
} NodeT;
typedef struct
{
    NodeT **aOthers;
} SomeOne;

以下是您可以访问它们的方法:

SomeOne so;
NodeT* others = new NodeT();
so.aOthers = &others;
(*so.aOthers)->info = 'A';

aOthers必须是指向指针的指针吗?