- 1 名前:デフォルトの名無しさん [2008/06/27(金) 21:31:43 ]
- 言語の入門者向け解説スレです。
教えて欲しいのではなく宿題を丸投げしたいならこちらへ。 C/C++の宿題を片付けます 110代目 pc11.2ch.net/test/read.cgi/tech/1213796455/ ・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・開発環境や動作環境も晒すと答えが早いかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 30 pc11.2ch.net/test/read.cgi/tech/1213367888/ 過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
- 59 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:32:34 ]
- kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7119.txt
このプログラムにおいて、最初のほうで BSTREE_NODE *deleteMinNode(BSTREE_NODE *p, BSTREE_K_TYPE *min); BSTREE_NODE *deleteRootNode(BSTREE_NODE *p, BSTREE_K_TYPE x); と書かなければいけない理由ってなんなんでしょうか? 消すとエラーが出るのに、*pや*minなどの値は変更してもエラーがでないのも意味がわかりません・・
- 60 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:35:18 ]
- 色々なC言語のコンパイラがありますがおすすめとかありますか?
- 61 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:38:36 ]
- >>59
プロトタイプ宣言かな? コンピューターは先頭から後ろにかけて順次処理してくのは 得意ですが、人間のようにソースを見渡して関数の宣言場所 と利用箇所を眺めてちゃんと定義されてるという確認ができない ある意味融通が利かない人なのです。 なので関数を使ってる箇所よりその関数が後ろに定義されてる場合 はソースの先頭付近に関数の頭の部分を定義してコンパイラに こんな関数があるよと先に結論を教えてあげます。 プロトタイプ宣言がいやなら関数を使ってるところより 先に関数を配置すればOKです
- 62 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:42:07 ]
- >>60
windowsPC持ってるならVC++かVC#でいいんじゃないの? Cygwinとかって環境構築ではまりそうだしね >>61の続き プロトタイプ宣言をしたくない?ようなソースはmain関数が ソースの一番最後にあって、main関数より呼ばれるその他 関数が上置くようになってます。
- 63 名前:59 mailto:sage [2008/06/28(土) 10:57:36 ]
- >>61
>>62 なるほど、ありがとうございます。 この宣言において、*minなどを違う文字に変更してもエラーが出ないのはどうしてなんでしょうか? 例えば BSTREE_NODE *deleteMinNode(BSTREE_NODE *p, BSTREE_K_TYPE *min); を BSTREE_NODE *deleteMinNode(BSTREE_NODE *a, BSTREE_K_TYPE *mn); などに変更してもエラーは出ずに実行されるのですが・・
- 64 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:04:44 ]
- プロトタイプ宣言は引数の数と型だけ見てるから。
- 65 名前:59 mailto:sage [2008/06/28(土) 11:08:56 ]
- なるほど、わかりました。
ありがとうございました
- 66 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:13:57 ]
- >>62
ありがとうございます。vc++ダウンロードしてきます。
|

|