Трудности со структурой и указателями в Си

В настоящее время я сталкиваюсь с некоторыми проблемами при доступе к двойному указателю.
1. Двойной указатель, который является элементом структуры.
2. Двойной указатель также является экземпляром другой структуры.
3. Эта структура также содержит элемент, который явно является переменной типа char, объявленной typedef.

Например.
Основная структура это.

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

NodeT определяется как ниже:

typedef struct NodeT
{
NodeItemT info;
} NodeT;

NodeItemT определяется следующим образом:

typedef char NodeItemT;

Теперь из основной функции я хочу добавить значение в

NodeT **aOthers;

Я должен объявить структуру SomeOne следующим образом:

SomeOne* somePerson;

Теперь от somePerson, если мне нужно сохранить значение в «** aOthers», что мне делать?
Чтобы добавить значение, у меня есть функция, определенная так:

void padd(SomeOne *somePerson, NodeItemT item);

Теперь кто-нибудь может помочь мне определить эту функцию?

-2

Решение

Вот ваши типы:

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 должен быть указатель на указатель?

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector