モジュール変数をつかって子ノードの位置を記憶するメンバ変数を持たせるとか、配列を木構造に見立てるとかやり方は色々あると思います。
子が2つの木構造と仮定してモジュール変数ならこんな感じのモジュールを作れば良いと思う。
#module node data,child1,child2 //dataはメインのデータ。child1とchild2は子ノードの添字
#defcfunc getdata
return data
#deffunc setdata str p1
data=p1
return
#defcfunc getchild1
return child1
#defcfunc getchild2
return child2
#deffunc setchild int p1,int p2
child1=p1
child2=p2
return
#global
配列を直接、木構造として扱うなら以下の図のように、左の子の添字は親ノードの添字*2+1となります。
0
/ \
1 2
/ \ /\
3 4 5 6
/\ /\ /\ /\
7 8 9 10 11 12 13 14