- 1 名前:デフォルトの名無しさん [2012/05/04(金) 04:05:26.52 ]
- C言語の入門者向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 100 toro.2ch.net/test/read.cgi/tech/1333108892/ ★過去スレ 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++の宿題片付けます 157代目 toro.2ch.net/test/read.cgi/tech/1335517816/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/ ideone.com/
- 496 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 01:12:29.68 ]
- >>487
floatは必要に迫られない限り使うのは避けよう。 %fより%gを使おう。
- 497 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 01:27:00.23 ]
- >>481
このケースだと階級毎にカウントとか書いてるんだから 単純にカイ二乗検定すればいいんでしょ 数列のテスト方法は大量にあって、TAOCPはそれだけで一章使ってた気がする
- 498 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 07:50:21.45 ]
- >>496
やはり風呂よりdouble?
- 499 名前: ◆QZaw55cn4c mailto:sage [2012/05/18(金) 07:58:11.20 ]
- >>496
>%fより%gを使おう。 これはお勧めできない。%g は値によって出力結果が大幅にかわり事前に予測できないのが非常に問題。 安易につかって破綻し泣ごにょごにょごにょ
- 500 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 09:52:36.05 ]
- あほすぎwww
- 501 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 11:15:14.49 ]
- >>499
printf("%f, %f\n", 1e10, 1e-10); printf("%g, %g\n", 1e10, 1e-10); どっちが自然?
- 502 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 11:18:03.75 ]
- C言語の入門者向け練習問題サイトってありませんか?
- 503 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 11:19:05.43 ]
- 問題1)1から10までの数値をランダムに生成せよ
問題2)大吉 中吉 末吉 吉 凶を表示するおみくじを表示せよ こんなやつ
- 504 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 11:22:22.34 ]
- ステマかよ
宣伝したいサイトが出てくるまで粘るんだろどうせ アホはさっさと立ち去れよ
- 505 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 11:28:32.60 ]
- 出た出たw過剰反応w
- 506 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 11:34:05.83 ]
- どっちにしろここで聞くよりググった方が早いな
- 507 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 11:34:50.33 ]
- とりあえず
Project Euler はやっておくかな
- 508 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:15:10.47 ]
- ダメなサイトなら紹介してる。
ttp://www.nslabs.jp/c_pointer.rhtml
- 509 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:15:55.70 ]
- プロジェクトオイラーは簡単な奴なら入門レベルでも解けるけど、
難しいのだと数学的知識がないとどうにもならない
- 510 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:25:33.14 ]
- すみません構造体のことで教えてください、あるサイトで
main.h struct Images{ int hero; 以下省略 }; main.cpp int LoadFiles(){ //ファイル読み込み処理をここに書く g_images.hero = 以下省略 } とあるんですが、「images.hero」でそのまま使えないんでしょうか? なぜg_を付けているのか、何の意味があるのか分からないです
- 511 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:44:34.07 ]
- >>510
それだけ提示されても何のことやら。めんどくさいから全部貼れ。 ついでに質問もよく判らん。 まぁ、g_で始まっているからにはグローバル変数とでも言いたいのではないかと思うが。
- 512 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:52:00.02 ]
- 変数名とタグ名の区別がついてない
- 513 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:57:17.48 ]
- タグ名はImagesだぞ。目は大丈夫か?
- 514 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 13:16:51.40 ]
- 標準ライブラリの質問はココで質問してもいいですか?
- 515 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 13:54:09.79 ]
- >>510
構造体はただの鋳型 使うにはそこから変数などの形で実体を作る必要がある たぶんソースのどっかでg_を付けた名前で変数宣言してるだろ? >>514 おk
- 516 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 15:34:27.50 ]
- お前らのおかげですっげーお手軽なお遊びゲームできたwwww
数字の1を入力するだけで戦闘できて、しかも自分のHPは減らない、うは面白www これで毎日暇潰せるwww お前ら本当ありがとうwww しんでくる
- 517 名前:デフォルトの名無しさん [2012/05/18(金) 16:04:56.62 ]
- argvの内容を4番目以降消して、
(argvの要素数は4以上あるものとする) 後でその領域を使えるようにしたいです。 void main(int argc, char* argv[]) { while (argc>3) argv[--argc]=NULL; } これでは文字列の内容がちゃんと消去されてないし、 指していたメモリが開放されていないと思うのですが、 正しい方法を教えてください。
- 518 名前:デフォルトの名無しさん [2012/05/18(金) 16:19:08.24 ]
- 二次元配列を渡す時の仮引数の書き方を教えてください。
二次元配列を渡す時、受ける側はポインタの配列で受けるのでしょうか。 また、二次元配列を渡す時の実引数は、何を渡したらいいのでしょうか。
- 519 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 16:25:00.64 ]
- typedef struct{int hairtsu[SIZE][SIZE2];}hairetsu2jigen;
void f(hairetsu2jigen a);
- 520 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 16:31:21.48 ]
- >>517
汎用性のある手段はない。一般的には、メモリ解放を意識する必要もない。 >>518 配列を渡したいのか配列へのポインタを渡したいのか要素へのポインタを渡したいのかはっきりしろ。 つーか、その辺りが判らないなら具体的にやりたいことを書け。
- 521 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 16:33:05.66 ]
- >>517
検索して調べてみた感じだと、 argvがどういうふうに確保されるかは環境依存だから、 freeしようとするのはやめとけって感じでした。 freeしないとしたら空文字列を代入すればいいのかな?
- 522 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 16:34:56.28 ]
- >>520
ありがとう。 逆にいうとargvのために確保された領域が 勝手に他から読まれる心配はしなくていいってことですか? セキュリティの観点からも気になるんだけど。
- 523 名前:デフォルトの名無しさん [2012/05/18(金) 16:37:25.05 ]
- >>519
それだったら始めからグローバルな二次元配列を書きます >>520 上位の関数で二次元配列を宣言して、下位の関数にアドレスを渡して、下位の関数で二次元配列の処理をしたいのです。
- 524 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 16:37:46.05 ]
- >>521
の質問は、 while (argc>3) argv[--argc]=NULL; と while (argc>3) argv[--argc]=""; だったらどっちがまとも? っていう内容です。
- 525 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 16:48:19.96 ]
- 519に対してグローバルがどうとか言い出すあたり全然わかってない割合の方が高そうだな
- 526 名前:デフォルトの名無しさん [2012/05/18(金) 17:00:08.05 ]
- >>519さんのやりたいことがわからないのですが。
構造体を返そうとしてるつもりなのでしょうか。 そうだとしたら何故return値がvoidなのでしょう。 Cは値渡ししかできないですよね。 もしそうでないとしても、それなら何故仮引数が構造体を指すポインタじゃないのでしょうか。 構造体はreturn出来るから構造体のメンバーに二次元配列を宣言したのでしょうが、何をしたいのかわかりません。 教えてください>>525さん
- 527 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:06:44.15 ]
- 自分の中の理屈で逆切れかます欠陥人格
- 528 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:07:58.93 ]
- >>526
二次元配列とか、そこらの本見れば書いてあるだろ。 人のミスにつけこむような、つまんない議論やめれ。
- 529 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:10:08.70 ]
- void f(int a[2][2]);
void f(int a[][2]); void f(int (*a)[2]);
- 530 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:11:44.88 ]
- 「仮引数の書き方」の話が「値を返す書き方」に変わっているような気がする。
自分の無知を棚に上げて挑発的な態度を取っているように見えるのは気のせいか?
- 531 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:13:19.55 ]
- >>526
>525じゃないけど答えてみる。 >518では「二次元配列を渡す」と書いてあって二次元配列を参照渡しした意図はどこにも書いてない。 従って、値渡ししている>519のやりたいことは自明。 配列を戻すことを考慮する必要がないのだから、戻り値がvoidなのも至極当然。
- 532 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:15:34.50 ]
- フルボッコw
- 533 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:16:27.80 ]
- >>524
どっちもまともじゃない。 引き数リストは使用しないのなら放っておけばいい。 「勝手に他から読まれる」のは何を想定しているのか判らないが、 それを心配するなら>524のどちらであろうとも全く無意味だ。
- 534 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:17:21.17 ]
- >>531
s/参照渡しした意図は/参照渡ししたいとは/
- 535 名前:デフォルトの名無しさん [2012/05/18(金) 17:25:03.78 ]
- >>520さんに指摘されたように、もっとはっきりとやりたいことを書くべきでした。すみません。
本買って勉強してきます。 プログラミングの本と常識の本を。
- 536 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:33:53.77 ]
- >>535
一転して素直で、今度は人格が心配になる。 まあガンバレ。
- 537 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:41:36.59 ]
- ふう
- 538 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:53:23.75 ]
- >>533
argv[1]=argv[3] argv[2]=argv[4] の後に、argv[1]とargv[2]を使った操作 をやるので、argv[3]とかargv[4] をどっかでいじられると困るわけです。 strcpy使えばいいのか?
- 539 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:59:43.92 ]
- 判らん人だなぁ。何の保証もないコードを幾ら捻っても詮無いだろうに。
関数に渡すために無駄な心配をしているのなら、 オリジナルのargvを渡さずローカルにコピーしたlocalArgVでも渡せばいいだろうよ。
- 540 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:01:49.16 ]
- いじろうとしてるのはお前だけのような気がするが
- 541 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:09:53.74 ]
- >>538
勘違いかもしれんが、それだとコピーじゃなくてポインタのすげ替えにしかなってないんじゃね? たしかに危なっかしいな。
- 542 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:15:49.03 ]
- >>538
誰から守ろうとしてるの? デバッガでアタッチされて改変とかの心配?
- 543 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:20:50.50 ]
- >>542
mainを起動した本人以外が文字列の内容を読む心配。 argv[3]='\0' したところで、argv[3][1]以降に入ってた文字は残骸としてメモリに残ってるんでしょ? C++だと勝手にデストラクタが発動するからライブラリの責任だけど、 Cだとゼロ埋めとか自分でするの?
- 544 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:23:27.19 ]
- 543だけど、C初心者なんで、まずは慣習的な方法を教えて欲しいだけなんだ。
うっとうしかったらすまん。
- 545 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:27:59.13 ]
- んなつまらん事気にするなら
main/argvじゃなくてmainCRTstartupをまづ如何にかしようとするべきだな
- 546 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:40:57.46 ]
- >>545
やっぱC系はわけがわからんな。危ない橋をわたらされてる感が・・・。 嫌味じゃなくて素朴な疑問なんだけど、不安で夜も眠れないとかならないの?
- 547 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:49:20.37 ]
- argvに書きこみなんてしないのが慣習
自分でゼロ埋めたって、埋める前に読まれたらおしまい プロセスの保護とかOSの話 言語関係ないだろ
- 548 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:55:48.65 ]
- >>547
ふむふむ、argvに関しては納得。 いろいろ見てたら memset(str,'\0',sizeof(str)) ってのが出てきた。 たしかにゼロ埋めじたいはやるみたいね。
- 549 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:00:06.56 ]
- strcpyってセキュリティホールの源泉みたいね。
機会があったら使わせてもらうわ(笑)。
- 550 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:09:36.21 ]
- (馬鹿は)何使っても一緒だから心配すんな
- 551 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:10:40.57 ]
- argvに入ってるってことはプロセス起動した側も同じものを持っているということ。
受け取り側だけどうこうしても片手落ち。 送り側にも手を入れられるのならコマンドライン引数では渡さない。 受け取り側のプログラム差し替えられたらダダモレでしょ?
- 552 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:20:07.91 ]
- おまえらってC言語どのくらい出来るの?
- 553 名前:デフォルトの名無しさん [2012/05/18(金) 19:29:29.24 ]
- 質問お願いします。
入力された金額に対して、最も少ない紙幣と硬貨の数になるように計算せよ。 という課題に取り組んでいるのですが、なかなかうまくいきません。 現状では以下のようにしているのですが何が間違っているのか分かりません。 アドバイスをいただけたら幸いです。 codepad.org/JVbJI7BZ
- 554 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:40:01.33 ]
- javascriptでいう
var d = new Date(); d.getFullYear(); みたいなオブジェクトとメソッドをピリオドで結んだ形で書くのはどうやって書けますか?
- 555 名前: ◆QZaw55cn4c mailto:sage [2012/05/18(金) 19:41:08.25 ]
- >>501
%g がいかなるものか正確無比に把握できているのであれば %g を使用すること、%gの方がわかりやすい結果を出力するという事実に依存はない。 しかし、%g が、あるときは固定小数点表示、あるときは浮動小数点表示に切り替わる、その切り替わりタイミングは正確に記述されているのだろうか? あるいは正確に記述されているとしてパンピーに把握できる内容だろうか? 凡人の私には codepad.org/9vnPdoW3 の結果をあらかじめ予想することは不可能。ましてや自分のコード変更がめぐりめぐってどこぞのコードに影響することなど、把握不可能。 したがって、あるときから素性が比較的わかる %f にしておくのが無難という考え方に組することにしている。 この問題、wsprintf() 等で現実に直面する場合もあると思う。 どこかのだれかがなんの理由かしらないが、すべての実数値に 1e7 をプラスすることにしたために、めぐりめぐって泣ごにょごにょごにょ
- 556 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:41:48.00 ]
- >>553
プログラミング以前に、中学・高校あたりの数学からやり直したらどうかな。 あなたは、数学的に物事を考える能力が無いよ。
- 557 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:43:06.96 ]
- >>554
「構造体 ドット演算子」でggる
- 558 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:44:38.77 ]
- >>554
structのフィールドに関数ポインタぶっこめば可能は可能だけど 結局a.foo(&a);とself/this相当を引数で渡さないといけないアホなことになるw
- 559 名前: ◆QZaw55cn4c mailto:sage [2012/05/18(金) 19:45:35.32 ]
- >>517
posix/execv*() 群を使用するとき、「argv を malloc() していいの?malloc() した argv はどうなるの?free() しなくていいの?」とこちらできいたことがある。 答えは、「ほっとけ」。 なぜだろう?
- 560 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:50:02.01 ]
- >>559
えっ 質問者本人だけど、まだ見てるから回答ヨロ。
- 561 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:59:36.84 ]
- exec()系は自分自身は存在しなくなるのだからfree()できるわけないじゃん。
malloc()したポインタをexec()する先に引き継げるなら別だけど、普通そんなことしない。 従って、exec()した先のプロセスがお亡くなりになるときにOS側に引き取って貰えばいいよ。
- 562 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:03:20.63 ]
- >>561
一理あるけど、現代的なプログラミング言語しか触ったことのない俺にとっては、 Cの常識ってお行儀悪いなーって思う。 ただ、それだけ。べつに歯向かおうとは思ってない(笑
- 563 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:07:19.56 ]
- >>555
そうか? 実に判り易いと思うが。 6桁で丸めた結果が整数なら小数点を省略する。それだけだ。 まさかとは思うが、製品版のアプリにまで適応する話と思ってないだろうな。 製品版なら、値域を厳密に判断してから出力するからそれこそ適材適所だ。 学習目的で実験的に使うと言う前提だからこそ、必ず小数点以下6桁も0が並ぶ方が不自然だろ。 そうそう、極小値で割った結果をそのままsprintf()で%fを使って出力するプログラムがあったよ。 結果は、スタックを食い潰して落ちる最悪なものだったがね。
- 564 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:09:22.40 ]
- >>562
それはあんたが低レベルの振る舞いに慣れていないからだろ。 システムコールを直接扱おうとしたらその手の問題にはしばしば直面するぞ。
- 565 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:14:02.96 ]
- >>564
それは自覚している。 ハイレベルのことだけやってて困らない。 だから唯一困るのがargvとかIOまわりなんだよね。 そこでどうしてもCと相互作用しないといかんくて。 これから勉強しようと思うんだ。 ヘネシー・パターソンとか読めばいい?
- 566 名前: ◆QZaw55cn4c mailto:sage [2012/05/18(金) 20:19:06.93 ]
- >>563
製品でなくても >値域を厳密に判断してから出力するからそれこそ適材適所だ に深く同意します。
- 567 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:39:05.78 ]
- >>556
確かに、私は数学が苦手で数学的に考える能力は乏しいです。 おっしゃる通り、プログラミング以前の問題だと思います。 しかし、学校の授業の関係でやらなければならないので困っております。 また、これからもこの課題の考え方が必要になってくると思うので この掲示板に書き込みさせてもらいました。
- 568 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:42:19.30 ]
- まずはこの板の宿題スレを探しだすんだ
- 569 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:43:54.33 ]
- 枚数はxを割って求める
- 570 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:45:47.61 ]
- >>568
ワロタ 「どこですか?」ってきそうw
- 571 名前: ◆QZaw55cn4c mailto:sage [2012/05/18(金) 20:49:23.26 ]
- >>563
>極小値で割った結果をそのままsprintf()で%fを使って出力するプログラムがあったよ。 %f といえども大きいほうには無限にひろがるから‥‥
- 572 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:57:46.86 ]
- 無限に広がるわけないだろ。
- 573 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:01:43.21 ]
- 事前に値をチェックすることなしに、バッファオーバフローを避けられないのが%fの宿命。
- 574 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:05:16.20 ]
- いまさらだけど、なんだ、
strcpy(argv[1],argv[3]) って普通にヤバイじゃんw argv[1]=argv[3] でargv[3]を消さずに放置するのが正解だな。 このスレ的にはargvをいじるなボケ、という感じだろうが、許してくれぃ。
- 575 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:05:52.40 ]
- >>567
ttp://codepad.org/aIaYJhvH
- 576 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:07:19.70 ]
- 演算を細切れにして都度OF見ればいいだけの話し
- 577 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:08:06.12 ]
- >>568
宿題スレに丸投げしたら答えだけ分かりそうで、意味は理解できない かなと思ったのでこちらに書きましたが、556さんの言う通り数学的 思考力がないと意味がない気がしてきました・・・。 >>569 ありがとうございます。割り算を使ってこれから試行錯誤してみます。
- 578 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:09:40.37 ]
- しかし、つくづく2000円札って影薄いな。
- 579 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:28:30.62 ]
- >>578
誤爆かと思ったら553からかw
- 580 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:43:54.34 ]
- ゲームボーイアドバンスのゲームをC言語で作りたいと思うのですが
一般のC言語入門の本を読んでも全くわかりません。 何を学べばいいですか。
- 581 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:46:15.52 ]
- gbspec.txt
- 582 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:58:35.09 ]
- 僕らのゲームボーイとかいう本が出てるからそれ買え
組み込み系の良い教材になるよ
- 583 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 22:16:22.63 ]
- >>582
その本は持ってますが、入門書とその本とのギャップが大きすぎてサッパリ。 その間のギャップを埋めるにはどうしたらいいでしょうか。
- 584 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 22:33:17.86 ]
- 割り込みとかレジスタを叩くあたりは組み込み系の入門書を読まないと分からないかもしれないな
リンカとかローダあたりの知識もあったほうがいいなそれはエキスパートCプログラミングあたりに書いてあった気がする グラフィック処理はインデックスカラー形式だからそれはファミコンのプログラミングとか調べたら分かるかもしれない あとはネット上でサンプルコードを漁ったり試行錯誤するといいんじゃね
- 585 名前:デフォルトの名無しさん [2012/05/18(金) 23:23:46.91 ]
- 思うんだが、ネットってプログラミングの知識ですら書籍に適わないよな。
ネットは浅く広過ぎ。
- 586 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 23:26:07.87 ]
- ソレは >>585 自身が語録不足だからだと思うよ
- 587 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 23:27:10.64 ]
- ひょっとして語彙のことか?
- 588 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 23:27:36.54 ]
- 語彙
- 589 名前:デフォルトの名無しさん [2012/05/18(金) 23:32:07.93 ]
- >>586
体系的に教えているサイトは浅い。 深い事載せてるサイトは、単にユーザーが気になって 実験してみました的な事。 定説的に深い事言ってるサイトって無い。
- 590 名前:デフォルトの名無しさん [2012/05/18(金) 23:35:28.31 ]
- 定説的ってなんだ。
- 591 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 23:40:54.52 ]
- 詳しい事ほどヒットしないからな
だいたいネットに情報載せたら本売れなくなるじゃん。 専門的な事や創造的な事はネットに書くわけ無い。
- 592 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 23:41:09.11 ]
- >>587-588 は586の指摘に痛みを感じた者供
- 593 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 23:41:41.00 ]
- 質問がないなら帰ってくれないか
- 594 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 23:44:00.07 ]
- 語録ww
- 595 名前:デフォルトの名無しさん [2012/05/18(金) 23:49:57.57 ]
- アホスwww
- 596 名前: ◆QZaw55cn4c mailto:sage [2012/05/18(金) 23:59:39.36 ]
- 末尾再帰について教えてください。
宿題スレにて、toro.2ch.net/test/read.cgi/tech/1335517816/497 が末尾再帰でないとの指摘があり、いろいろと考えていました。 思うに、toro.2ch.net/test/read.cgi/tech/1335517816/505 を理由に末尾再帰でない、ということになれば、よくある階乗の再帰関数 int f(int n) { return (n == 0) ? 1 : n * f(n - 1); } ですら末尾再帰ではないことになるのでしょうか? 末尾再帰であるために int f(int n, int i, int p) { return (n == i) ? p : f(n, i + 1, p * (i + 1)); } codepad.org/OSvQa0ni と書かねばならないのでしょうか? 主観的な表現になりますが、なんだかつまらなくなってしまいました。 コメントをいただけるとうれしいです。よろしくお願いいたします。
|

|