- 1 名前:デフォルトの名無しさん [2013/04/22(月) 04:47:19.70 ]
- C言語の入門者向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 113 toro.2ch.net/test/read.cgi/tech/1362824689/ ★過去スレ 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 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 164代目 toro.2ch.net/test/read.cgi/tech/1364700745/ ★C++言語については避けてください。C++対応明記スレへどうぞ。 ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。 # サイズが大きい場合はアップローダ等を利用してください。 codepad.org/ ideone.com/ ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
- 593 名前:デフォルトの名無しさん [2013/05/07(火) 15:09:55.57 ID:qEqQNQf6O]
- そうして開発コストがあがっていく。
- 594 名前:デフォルトの名無しさん mailto:sage [2013/05/07(火) 15:45:32.94 ]
- 配列にいれる分コスト掛かるから参照するだけならポインタにしろってことか
- 595 名前:デフォルトの名無しさん mailto:sage [2013/05/07(火) 16:12:23.83 ]
- いやconst []の方がいいコード出る
- 596 名前:デフォルトの名無しさん mailto:sage [2013/05/07(火) 18:05:08.79 ]
- >>589
定数領域に"ABC"取って、何らかの方法で"ABC"をstrへコピーしてる 何らかの方法ってのはコンパイラ次第で、memcpyと同じかも知れない でいいのかな
- 597 名前:デフォルトの名無しさん mailto:sage [2013/05/07(火) 18:51:17.57 ]
- >>593
ID, ID!
- 598 名前:デフォルトの名無しさん [2013/05/07(火) 19:00:25.55 ]
- あれこの板IDでるっけ?
- 599 名前:デフォルトの名無しさん [2013/05/07(火) 19:31:33.81 ]
- 【2ch】海外からの書き込みだとIDの末尾に ! が付くようになった
engawa.2ch.net/test/read.cgi/poverty/1367913537/ これが関係している?
- 600 名前:片山博文MZパンク ◆0lBZNi.Q7evd mailto:sage [2013/05/07(火) 23:08:23.92 ]
- 最近の逆コンパイラはすごいぞ。C言語だと元のコードがそのまま再現される。
他人に盗まれない仕事がしたいならC++にしろよ。
- 601 名前:デフォルトの名無しさん mailto:sage [2013/05/07(火) 23:10:10.33 ]
- 片山ゆうちゃんちーっすwww
- 602 名前:デフォルトの名無しさん mailto:sage [2013/05/07(火) 23:41:12.39 ]
- >>600
そんな逆汗があるのか?URLよろ
- 603 名前:デフォルトの名無しさん mailto:sage [2013/05/07(火) 23:51:15.51 ]
- 携帯からだとIDが出るようになったのか
- 604 名前:デフォルトの名無しさん mailto:sage [2013/05/07(火) 23:55:08.93 ]
- Qは確かp2経由だったけど巻き込まれたのか
- 605 名前: ◆QZaw55cn4c mailto:sage [2013/05/08(水) 01:48:46.87 ]
- 大丈夫みたいですよ静かになればいいのにね
- 606 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 08:18:40.99 ]
- >>600
C#だったらわかるんだけど‥‥
- 607 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 08:41:18.56 ]
- >>600
ねーよ
- 608 名前:デフォルトの名無しさん [2013/05/08(水) 12:23:56.99 ]
- double型の変数dがほぼ0に等しいか調べるにはどうしたらいいですか?
- 609 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 12:38:58.01 ]
- >>608
fabs(x - constance) じゃだめなの?
- 610 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 12:49:06.27 ]
- つまんねっ
- 611 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 12:52:54.21 ]
- >>610
なら2chに来るな それかお前が面白いネタを提供しろ
- 612 名前:デフォルトの名無しさん [2013/05/08(水) 12:57:55.57 ]
- DBL_EPSILON 2.2204460492503131e-016 1.0+DBL_EPSILON !=1.0となる最小値
DBL_MIN 2.2250738585072014e-308 最小の正の値 msdn.microsoft.com/ja-jp/library/k15zsh48(v=vs.80).aspx
- 613 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 13:00:51.22 ]
- 機械イプシロンの意味を理解している奴がどれだけいるのか・・・
- 614 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 13:05:32.61 ]
- 覚えただけの知識を自慢
- 615 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 13:46:08.03 ]
- http://情報処理試験.jp/FE25a-pm/t09.html
このCわかりやすくいけた 難易度これくらいでいいな
- 616 名前:デフォルトの名無しさん [2013/05/08(水) 16:55:41.18 ]
- Cしかできない奴ってGUI作るときにもC使っちゃうわけ?w
- 617 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 19:02:56.00 ]
- >>581
完成させることって重要だよな。 やっぱりプログラムを作るとしても使い回し能力ってのは必要なの? 要領が悪いから最初から作らないといけないんだよ!とか 言われたりするの?
- 618 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 19:50:13.23 ]
- >>558
ゲームデザインをシナリオと一緒にすんな テトリスくらいならいいけど、最近のRPGみたいなやつを素人がデザインすると地獄絵図になるぞ 〜ゲームデザイナーなし劇場〜 開発者A「なぁ、このボスに到達するときにこのパーティーのレベルって高くない?」 開発者B「え?じゃぁ経験値少なくするか」 開発者C「おい、全体的に減らすなよ、その前のボス戦ではちょうどよかったんだから」 「じゃぁそのボス弱体化すればいいじゃん」 「えっ」 「えっ」 「そうじゃなくてAが言ってたボスを強くすればいいんじゃね?」 「強くって何を?HPあげるの?攻撃力あげるの?」 「HP上げたら長期戦になってダルいだけだろ、攻撃力上げろよ」 「・・・攻撃力あげてみたよ、攻撃力上げたら魔法使いが一撃で死んだよ」 「上げすぎなんだろ馬鹿」 「だってそのくらい上げないと他のキャラほとんどダメージ受けないんだもん」 「ダメージの計算式がおかしいんじゃね?」 「はい」 「はいじゃないが」 「いや、ダメージの計算式変えると全体のバランス変わってくるから無理です」 「普通に魔法使いの防御力が低すぎるだけだと思われ」 「そのボス直前の街で買える防具に、魔法使い用のもう1つ上位の防具追加したらどうよ」 「追加しなくてもその防具の防御力上げれば済む話だろ」 「属性防御が付いてる代わりに、防御力低くしてあるんだけど、防御力上げちゃうの?」 「いいから上げろよ」 「・・・防御力上げてみたよ、ボスはちょうどよくなったけど、雑魚戦でダメージほとんど受けないから面白くないんだが」 ってのが延々と続く
- 619 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 22:06:03.65 ]
- int *hoge()
{ int a = 10; return &a; } これってマズい?
- 620 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 22:11:33.47 ]
- >>619
別にコンパイルエラーにはならないと思うよ。 返り値を使わない分にはなんの問題もない。
- 621 名前:デフォルトの名無しさん [2013/05/08(水) 22:33:04.89 ]
- >>618
逆にいえばゲームデザイナーの意見に口出しできないって事じゃね?
- 622 名前:デフォルトの名無しさん [2013/05/08(水) 22:46:10.60 ]
- staticだったら使えるの?
- 623 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 23:30:15.90 ]
- 無能馬鹿はとっとと死ね
試せばいいだろ無能
- 624 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 23:38:50.21 ]
- >C言語なら俺に聞け
- 625 名前:デフォルトの名無しさん [2013/05/08(水) 23:47:45.31 ]
- わからないから煽る
- 626 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 23:54:57.51 ]
- >>619
まずい
- 627 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 00:00:23.89 ]
- まずいというか普通そんなコード書かないのでは
- 628 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 00:01:47.83 ]
- ポインタは初心者には難しいから(震え声)
- 629 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 00:03:46.81 ]
- 自分でわからないコードは書くな とよく聞くのですが
この「わかる」というのはどの程度までを指すのでしょうか? 極端な話printf("hello");が何をしてるのか私は説明できません printf()は引数を標準出力に出力する関数だということはわかります。構造はわかりません。 プログラムを理解するというのはどこまで掘り下げればいいのでしょうか?みなさんの意見をお聞かせ下さい。
- 630 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 00:05:09.40 ]
- ロベールのC++教室 - 第8章 アドレスを返す関数 -
www7b.biglobe.ne.jp/~robe/cpphtml/html03/cpp03008.html int* Func() >{ > int a = 0; > return &a; >} >のようなことは絶対にしてはいけません
- 631 名前:デフォルトの名無しさん [2013/05/09(木) 00:15:09.87 ]
- だからstaticだったらどうなのよ
- 632 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 00:27:11.87 ]
- スタックポインタを取得するために敢えてそういう事をする可能性もなくはないが、
どう確保されるかよく分からない内部変数よりは 呼び出し規約により位置がはっきり決まる引数の方がよさげ staticなら別に何ともない
- 633 名前:デフォルトの名無しさん [2013/05/09(木) 00:46:28.63 ]
- >>629
アセンブリ勉強きて実行ファイル逆アセして読めば?
- 634 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 02:25:07.91 ]
- >>631
strtokやlocaltime, asctime, ctime辺りは、 staticかグローバルか知らないけど そういうアドレス返しているね。 他にもあったかな?
- 635 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:00:37.10 ]
- すみません。さっぱりわかりません。どなたか教えてください><
テキストファイル○○.docを読み込み、fscanf, strlenを使用して、長さが1以上の語の数を数えて出力するプログラムを書きなさい。 ただし、ファイル名の指定は、fopenの引数として直接プログラム中に書いて指定して下さい。(ヒント:テキストの中の単語をfscanfを使って1つずつ読み込み、その長さが2文字以上ならばワード数を1つインクリメントする。) ○文字列の長さを測る方法:strlen()を使用する。 ○テキストファイル○○.docには長い英文が書かれている。 よろしくおねがいします。
- 636 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:14:44.99 ]
- 宿題は宿題スレへ
- 637 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:16:53.58 ]
- QZ自演キターww
- 638 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:22:30.70 ]
- 宿題スレなくなってるのでここで聞きました。どうかお願いします
- 639 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:36:09.85 ]
- まもなくQZの自演によるウンコード排出が始まります
とくとご覧あれw
- 640 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:37:00.92 ]
- なくなってたら立てればいいじゃない
- 641 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:39:49.74 ]
- こうやっていい流れの時に自演宿題して雰囲気を悪くするQZは極悪
- 642 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:42:41.26 ]
- >>635
ideone.com/L5XpbZ
- 643 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:43:36.56 ]
- キターww
- 644 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 11:47:47.55 ]
- >>642
早速の回答本当にありがとうございます。 PS自演とか言って騒いでるやつなにが楽しいの⁈
- 645 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:02:12.93 ]
- ○○.docが非常に長くて、かつ末尾最適化が効かないコンパイラだったら
スタックオーバーフローを起こすんじゃないの 素直にループ使えないの?
- 646 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:05:08.25 ]
- エラーチェックとか入ってないけど非常に素直な書き方で、このまま提出でいいと思う。
- 647 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:09:21.50 ]
- なるほど、こうやって潜在的バグを放置するのがQのやり方か
- 648 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:12:15.13 ]
- countが初期化されてないからバグってるな。
適当にcount=0;しておいて。
- 649 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:13:45.01 ]
- >>646
ほらね QZがものすごい勢いで書いたからウンコードになる 質問開始から1時間もたっていない
- 650 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:20:32.45 ]
- 宿題の回答ならこんなもんだろ。
- 651 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:23:43.23 ]
- QZの能力の無さを宿題レベルだからあえてそういう風にしたと誤魔化しましたね
- 652 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:25:21.21 ]
- ゲーム専門学校に通ってるんですがわからない場所があります
count>=0 count>0 これってどう違うんですか?
- 653 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:26:25.05 ]
- 無能ゲー専死ね
- 654 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:34:52.58 ]
- >>652
上は0以上。 下は1以上。
- 655 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:35:47.04 ]
- >>652
上は count が 0 の場合に真だが、 下は count が 0 の場合に偽である。 「より大きい」と「以上」の違い。
- 656 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:36:25.59 ]
- >>654
count が int とは限らないでよ。
- 657 名前:652 mailto:sage [2013/05/09(木) 12:46:23.28 ]
- では
count>=-1 count>-1だと?
- 658 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:47:41.51 ]
- うわっこんなくだらない奴がCやってんの
- 659 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:48:52.49 ]
- >>657
不等号はマイナス値に使うと不定になる。
- 660 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:49:53.87 ]
- QZは叩かれると話題を変えたがるから
>>652は自演の可能性がある
- 661 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:52:27.16 ]
- ゲーム専門学校は無能だなw
頭腐ってんじゃないの?
- 662 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:53:06.40 ]
- そりゃ落ちこぼれが通う場所ですから
- 663 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 12:57:01.35 ]
- QZ以下の知能指数
- 664 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 13:03:08.65 ]
- >>659
んなわけない。
- 665 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 14:04:50.86 ]
- (QZの)嘘を嘘であると見抜けいないと掲示板を使うのは難しい
- 666 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 15:31:24.24 ]
- 外部結合、内部結合、無結合について詳しく教えて
意味がわからん
- 667 名前:デフォルトの名無しさん [2013/05/09(木) 15:50:15.00 ]
- externってよくわからないけど
どこか一つのファイルで実体宣言して参照するファイルでexternで良いの?
- 668 名前:666 mailto:sage [2013/05/09(木) 16:02:30.52 ]
- >>667
あってる実態は何もつけずに宣言 分身にextern
- 669 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 16:05:25.14 ]
- >>667
ttp://www7b.biglobe.ne.jp/~robe/cpphtml/html01/cpp01069.html
- 670 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 16:29:24.30 ]
- C++やん
- 671 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 18:43:31.26 ]
- こんにちは
今大学の研究室にC言語で作成したツールがあります 大体ソースコードが15個、ヘッダーも同じくらいあり、ソースコードは合計1万行くらいあります このツールは私が研究室に入る前の先輩方が3人で作ったそうです 今回、先生がこのツールを全く新しく作り直したいと言い出し、私一人で同じようなツールを開発することになりました そこで、既存のツールがどのような処理を行っているか知るためにソースコードを読み始めたのですが、説明などのドキュメントはおろか、ソースコードにコメントは一切書いてありませんでした また、メイン関数の中身も宣言→よくわからない処理→宣言→関数など、宣言も関数もまとめて書いてあらず、インデントも適当です 変数名、関数名も意味がわかりません このようなものを解析するには、やっぱり一つ一つ追っていくしかないのでしょうか? 私はC言語で入門書の演習くらいしかやったことがありませんのでこれから勉強をもっとしなければなりませんが、こういうツールを作成するのにオススメの勉強方法などありますか?
- 672 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 18:47:42.51 ]
- >>671
とりあえずコード整形ツール通すのと 構造解析するツールに通しておけば 手間を2割くらい減らせる あとの8割は……まあガンバレw
- 673 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 18:50:44.72 ]
- 目的があってそのプログラムを動かしているんでしょう?
であれば、今までのソースにたよらず動作や原理から仕様を作り新しく組むのが近道です
- 674 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 18:52:09.41 ]
- >>672
ありがとうございます Cを普通に扱える人だったら、どのくらいで理解できるんですかね... 自分は1ヶ月じゃ無理そうです...
- 675 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 18:57:11.30 ]
- >>673
そうしようと思ったのですが、使えるところは流用しろとのことでして... また、先輩方3人でアルゴリズムや構造体を考えるのに半年、ツール開発で結局2年かかったとのことだったので、正直しんどいです
- 676 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 19:01:31.26 ]
- doxygenに掛けて一度整理してみろ
- 677 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 19:04:41.91 ]
- まずは教授にこれこれなので無理です、というべきだな
解決案か別の案か何か考えてくれると思うよ
- 678 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 19:06:31.41 ]
- 作り直したい理由によるな
もしかしたらラッパー作ればいいだけかもしれん
- 679 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 19:14:35.53 ]
- ここにソース晒さないかぎり正確な答えは得られないわな
今の範囲であれば、やるだけ無駄だから外注に出せ、くらいだ
- 680 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 19:32:15.09 ]
- リファクタリング厨 vs 動いてるなら触るな厨の戦い!
- 681 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 19:40:37.47 ]
- なんで作り直したいのかまず聞くことだな
- 682 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 19:49:00.97 ]
- まあdoxygenとgraphvizで出力してみて、教授と相談すればいい
- 683 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 20:10:09.56 ]
- 沢山の返答ありがとうございます!
doxygenというもの使ってみます! 作り直したい理由は、企業からそのツールが欲しいと言われたが今の何て出せるもんじゃないといった理由らしいです あとは、前提として対応してこなかったものに対して対応できることがわかり、そのためには大幅な改変が必要だからと言った理由です 先生に相談してみます!
- 684 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 20:14:51.00 ]
- 言っておくけど、君じゃ4年かかっても無理だよ
- 685 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 20:19:18.17 ]
- っと馬鹿が申しております
- 686 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 20:21:23.35 ]
- >>683
学生が作ったものだからひどいですよwww って言いながら企業に渡して、企業にリファクタしてもらえ。 当然リファクタ後の使用権と改修権は企業からもらう契約にしてな。 おまえじゃ無理。
- 687 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 20:29:02.38 ]
- ゲー専のバカじゃ無理だからな
文章からしてゲー専
- 688 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 20:30:19.13 ]
- ゲー専の学生ならきれいなコード書くんじゃないの
そもそも専門の教授ってなんだよ
- 689 名前:デフォルトの名無しさん [2013/05/09(木) 20:34:28.76 ]
- 広域変数を動的にメモリ確保ってできる?
- 690 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 20:35:23.76 ]
- >>689
動的に確保したメモリを広域変数に割り当てればいいんじゃね?
- 691 名前:デフォルトの名無しさん [2013/05/09(木) 20:52:00.97 ]
- >>690
サイズ不定なので不可能です
- 692 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 21:00:06.32 ]
- malloc calloc realloc
- 693 名前:デフォルトの名無しさん [2013/05/09(木) 21:00:32.60 ]
- char *kuso;
main() { kuso=malloc(); }
|

|