2016-09-06 31 views
-2

我目前在訪問一個雙指針時遇到一些問題。 1.作爲結構元素的雙指針。 2.雙指針也是另一種結構的實例。 3.該結構還包含一個顯式爲typedef聲明的char類型變量的元素。關於C中結構和指針的困難

例如。 主要結構是這樣的。

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

NODET定義如下:

typedef struct NodeT 
{ 
    NodeItemT info; 
} NodeT; 

NodeItemT的定義如下:從主功能

typedef char NodeItemT; 

現在我想將值添加到

NodeT **aOthers; 

我必須申報一些一個結構如下:

SomeOne* somePerson; 

現在從somePerson,如果我要存儲一個值到「** aOther」我該怎麼辦? 添加值,我定義爲這樣的功能:

void padd(SomeOne *somePerson, NodeItemT item); 

現在,任何人都可以請幫我定義這個功能呢?

+1

歡迎來到Stack Overflow!請說明迄今爲止的研究/調試工作。請先閱讀[問]頁面。 –

+6

'C'!='C++',選擇一個。 –

+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必須是一個指針的指針?