C言語なら俺に聞け(入門篇) Part 31at TECH
C言語なら俺に聞け(入門篇) Part 31 - 暇つぶし2ch46:デフォルトの名無しさん
08/06/28 02:33:17
URLリンク(kansai2channeler.hp.infoseek.co.jp)
範囲を指定しないなら、やっぱり switch はえー

47:デフォルトの名無しさん
08/06/28 02:38:57
>>46
なんか初めてハッシュを知った新入りのような喜びようだなw
ほほえましくてイイヨーイイヨー

48:デフォルトの名無しさん
08/06/28 02:55:37
>>47 意味不明。自分の理論の穴を突かれて涙目なんだろ?w
>>45


49:デフォルトの名無しさん
08/06/28 02:59:29
>>48
ちがうちがう。
状況によってはifを使う方が速いこともあるよっていいたかっただけだ。
ついでに、条件文の書き方でも十分代わりうるということをいいたかった。

適した場面に適したコードを書くのは当たり前で、
switch(str)
{
case "hoge":
}
ってかけなくてswitchざまあなんて言い回しと同じように、
switchを使う方が良い場面においてif遅いなどというのはおろかなこと。

50:デフォルトの名無しさん
08/06/28 03:05:58
初心者の頃にnyを使い始めて、ハッシュを知ってはしゃいだことのある
>>47 が可愛いよ皮良いよ

51:デフォルトの名無しさん
08/06/28 03:09:39
>>50
なぜny?ハッシュが何を指しているか理解してない、のか?
さすがにないと思いたいんだが。
しっかり勉強しろよ?

52:デフォルトの名無しさん
08/06/28 03:27:59
>>47
なんか初めてハッシュを知ったny厨のような喜びようだなw
ほほえましくてイイヨーイイヨー

53:デフォルトの名無しさん
08/06/28 04:02:02
以上、チンパンジーのアイちゃんの自演でした。

54:デフォルトの名無しさん
08/06/28 04:11:30
>>47 論破されて涙目だなwwww
ハッシュなんて持ち出すなら、なおさら指定範囲内の
数値に対する話は論外になるな。無関係な話ではあるが。

55:デフォルトの名無しさん
08/06/28 04:26:16
>>47
茶化したつもりがハッシュなんて持ち出すから、さぁ大変。
ny厨乙。お前がそれを知って喜んでいたことの自己紹介ですか?
にしても、switch はえーなぁー、をいっw

56:デフォルトの名無しさん
08/06/28 04:51:02
ハッシュとny厨に何の関係があるんだろう

57:デフォルトの名無しさん
08/06/28 07:38:10
switchが早いのでこれからは
if (a == b) {
 // 処理
}

switch (a == b) {
case 1:
 // 処理
}
と書くようにします!

58:デフォルトの名無しさん
08/06/28 08:19:48
URLリンク(kansai2channeler.hp.infoseek.co.jp)
最適化かけまくりだと0msなんで加算処理を加えてみた。

s w i t c h 蠅ー


59:デフォルトの名無しさん
08/06/28 10:32:34
URLリンク(kansai2channeler.hp.infoseek.co.jp)

このプログラムにおいて、最初のほうで
BSTREE_NODE *deleteMinNode(BSTREE_NODE *p, BSTREE_K_TYPE *min);
BSTREE_NODE *deleteRootNode(BSTREE_NODE *p, BSTREE_K_TYPE x);

と書かなければいけない理由ってなんなんでしょうか?
消すとエラーが出るのに、*pや*minなどの値は変更してもエラーがでないのも意味がわかりません・・

60:デフォルトの名無しさん
08/06/28 10:35:18
色々なC言語のコンパイラがありますがおすすめとかありますか?

61:デフォルトの名無しさん
08/06/28 10:38:36
>>59
プロトタイプ宣言かな?

コンピューターは先頭から後ろにかけて順次処理してくのは
得意ですが、人間のようにソースを見渡して関数の宣言場所
と利用箇所を眺めてちゃんと定義されてるという確認ができない
ある意味融通が利かない人なのです。

なので関数を使ってる箇所よりその関数が後ろに定義されてる場合
はソースの先頭付近に関数の頭の部分を定義してコンパイラに
こんな関数があるよと先に結論を教えてあげます。

プロトタイプ宣言がいやなら関数を使ってるところより
先に関数を配置すればOKです

62:デフォルトの名無しさん
08/06/28 10:42:07
>>60
windowsPC持ってるならVC++かVC#でいいんじゃないの?
Cygwinとかって環境構築ではまりそうだしね

>>61の続き
プロトタイプ宣言をしたくない?ようなソースはmain関数が
ソースの一番最後にあって、main関数より呼ばれるその他
関数が上置くようになってます。

63:59
08/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:デフォルトの名無しさん
08/06/28 11:04:44
プロトタイプ宣言は引数の数と型だけ見てるから。

65:59
08/06/28 11:08:56
なるほど、わかりました。
ありがとうございました

66:デフォルトの名無しさん
08/06/28 11:13:57
>>62
ありがとうございます。vc++ダウンロードしてきます。


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