C言語なら俺に聞け(入門編)Part 111at TECH
C言語なら俺に聞け(入門編)Part 111 - 暇つぶし2ch592: ◆QZaw55cn4c
13/01/01 00:12:39.43
>>572
やりたいことは理解したつもりです。結論からいうと、>>484 のまずいところは以下の2点

1) malloc() して得た領域が 0 クリアされていることを仮定している。
> Tree tree = malloc(sizeof(struct Tree)); 
の直後に
> Tree_add(tree, 3);
をおいてしまっている。たぶん、c++/java のコンストラクタにあたるものを C にするときに書き落としてしまっているかと。

2) malloc() の帰り値はチェックしたほうがいいんじゃないかな?

>typedef struct Hoge *Hoge
名前空間が違うからねえ可能といえば可能だけれども。もう C++/java 的な考え方に染まっておられるんですね。
確かに非再帰に書けばスタックオーバーフローの恐怖からは逃れられるけれども、この問題の場合も私ならば再帰的に書いてしまう。
URLリンク(ideone.com)
木構造は再帰的ゆえに木構造を扱うアルゴリズムも再帰的に書いて楽をしたくなってしまいます。
スタックオーバーフローは別の手段で回避しようかと、リンク時にスタックサイズを指定したり、ああ、最近 AVL 木を添削してもらったのでぼちぼち使い始めています。

あけおめ!


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch