我目前在访问双指针时遇到一些问题。 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);
现在有人可以帮我定义这个功能吗?
答案 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
必须是指向指针的指针吗?