>>447
ポインタのポインタを使わなくても書けないことはないが、
nがゼロの場合に上のコードみたいに分岐するような醜いコードになるから、
普通はポインタのポインタを使う。

あと、insertした後ちゃんとrootの値を変えてるか?
root = insert( root , addr[1] , 1);
こういう風に書いたら多分大丈夫と思うが。