C言語なら俺に聞け! Part 121
■ このスレッドは過去ログ倉庫に格納されています
0590519他
2006/02/03(金) 00:15:20>配列は戻したあと受け取られてないんですか?これ・・。
・main()のaは関数から戻ってきたのではない。
main()のaの内容が書き換わっているのは、main()のaの場所を関数に教えて
そこを関数が書き換えているから。
・関数の戻り値の型がintなのに配列は戻せない。
だから、return a;ではエラーが出る。当然だ。
例えばa[0][0]なら返せるが、それは配列ではなく、只の整数値だ。
・そもそも呼び出し側で受け取っていない。
受け取るには、例えば int foo = PLAYER(a);などとする必要がある。
配列は関数に渡せない。渡しているのはその場所(即ちポインタ)のみ。
逆に、場所を渡しているから関数から書き換え可能となっている。
関数の引き数と戻り値の仕掛けについて、もっと単純な関数で色々試してみることをお勧めしておく。
■ このスレッドは過去ログ倉庫に格納されています