C言語なら俺に聞け(入門編)Part 72
■ このスレッドは過去ログ倉庫に格納されています
0322デフォルトの名無しさん
2010/10/28(木) 16:42:25俺も突っ込んで良い?
input () で確保した構造体配列が溢れたときに realloc() してるけど、同じサイズで realloc() してるから意味無いよ
そして入力した個数を main() に返してないから output() では何個表示すべきか判らないから3個表示してる
採点するとかなり厳しい結果になりそうだね
普通に考えると count や size も main() が知るべきだから input( value* data, int* pcount, int* psize ) とするべきだろうね
size に関しては main() が知る必要は無いから input() に管理を任せても良いが、その場合は初回の malloc() も input() で
行なうべきだろう
当然 output( value* data, int count ) になるね
余談だが、C++使えるんなら value の管理クラスを作成するのが一番望ましい
class value_array {
private:
value* data;
int size;
int count;
public:
value_array();
~value_array();
void add( value* indata );
int getCount( void );
const value* getData( int index );
};
こんな感じで良いと思う
■ このスレッドは過去ログ倉庫に格納されています