[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 23:32 / Filesize : 137 KB / Number-of Response : 653
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門編)Part 58



1 名前:デフォルトの名無しさん [2009/12/15(火) 23:42:55 ]
C言語の*入門者*向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 57
pc12.2ch.net/test/read.cgi/tech/1260020924/
★過去スレ
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++室 Ver.70【環境依存OK】
pc12.2ch.net/test/read.cgi/tech/1258873470/
とか
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 133代目
pc12.2ch.net/test/read.cgi/tech/1260532772/
★C++言語についてはなるべく聞かないでください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

477 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 00:30:12 ]
いいじゃんx86の機械語体系が滅茶苦茶でも
速くて正確に動けばそれでいい

478 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 00:33:33 ]
出て行けw

479 名前:デフォルトの名無しさん [2009/12/22(火) 01:00:31 ]
68系の衰退は80系との勝負じゃなくRISCの台頭によることだろ

480 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 01:04:20 ]
68を知るようなジジイが珍答披露してるのか・・・
どんな人生送ってきたんだ

481 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 01:11:48 ]
4桁の68系はOSに恵まれなかった・・・

482 名前:デフォルトの名無しさん [2009/12/22(火) 01:15:25 ]
あんなもんにOSなんか求めてなかったし、あるのを知っててスルーが当時の答えだった

# ジジィ発言は気持ちわかる
# 当時の俺も同じ心境だったから

483 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 01:20:16 ]
灰列便利だな
配列があれば複雑な数値計算もできそう

484 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 01:21:13 ]
スレタイ読め
ふざけんな!

485 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 01:39:24 ]
多次元配列って結局人間がわかりやすいってだけで
一次元配列とかわらん?
a[100]ってやるのもa[10][10]ってやるのも確保されるメモリは一緒でしょ?



486 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 01:43:36 ]
多次元配列の学習をする時、例題とかやらなかったのか

487 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 01:45:46 ]
型が違う

488 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 01:48:48 ]
というか、ベクトルとスカラーほど違う

489 名前:デフォルトの名無しさん [2009/12/22(火) 01:49:13 ]
4桁68に対してはOSどころかBIOSにさえ抵抗があったが
BIOSの考え方自体は後のマシンとの付き合い方にSVCとはまた違った方向性を示してくれたことには違いない
当時はアセンブラ主体だったが、そこでのノウハウが後にCを始めてから**や(*)への一挙跳躍をもたらしてくれた

490 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 02:24:24 ]
しつこいなあ

491 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 03:54:39 ]
>>489
お前いい加減にしろよ
みんなうんざりしてんだよ

492 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 04:33:05 ]
当事者ならこんなとこで想い出語らないよ
最近調べたんでしょ

493 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 09:52:24 ]
入門スレでの知ったかはよくあること。上級者スレに行くほどのまともな知識は無い
ただのガス抜き

494 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 11:48:06 ]
せめてアセンブラスレに行けよなあ
スレ違いもいい所だ

495 名前:466 mailto:sage [2009/12/22(火) 11:58:54 ]
C使いと8ビットCPU経験者は、かなり重なるから食い付きがいいんだろ。



496 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 12:11:05 ]
クズが開き直ってんじゃねえよw

497 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 03:35:38 ]
今までPerl、Javaとやってきたんだけどもうランタイムが必要な実行ファイルにはうんざり。
ネイティブの何も必要としない純粋ピュアな.exeを作りたいと思って
手頃な入門サイトでCを押さえて今Win32APIをやってるんだけど、これが中々おもしろい。
なんの仲介もなく直にWindowsとふれあってる感じがする。
今までダブルクリックで起動するjar(関連付けによっては動かなかったりする)を使ったり
それをexewrapでexe化したりなんだかなぁという事ばっかりやってたのでCで普通のexeが作れて感動。
Cはポインタが難しいとよく言うけど実際やってみるとこれPerlのリファレンスじゃんって感じで飲み込めた。
他にもPerlやJavaの仕様の前身となったようなものが見受けられてあぁ、これが元ネタなんだなと思うこと多数。
なんの質問でもないけど、C言語っておもしろいですね。

498 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 03:49:10 ]
そのうちmsvcrt.dllに憤ったりするのだろうか
それにしてもサクサク動くから楽しいかな
Perlと比べると文字列の処理が貧弱すぎてびっくりするかも知れんけどがんばってー

499 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 07:13:10 ]
単なる時代錯誤だな

500 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 09:54:16 ]
>>497
Win32API やってるなら
windows.h を少しずつでも見たほうが良いよ。

501 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 10:53:19 ]
>>497
アセンブラおすすめ。
APIの呼び方さえ覚えておけば実行ファイルがあまりにも小さくなって感動する。
今までのWindowsアプリはなんだったんだって思う。

502 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 10:54:59 ]
APIの呼び方を覚えるのが手軽なら誰もC言語なんてやらないわ。

503 名前:466 mailto:sage [2009/12/23(水) 11:03:44 ]
>>502
APIの呼び方は、アセンブラでも手軽だぞ。
それ以外が大変だけど。

504 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 11:05:19 ]
呼び方を覚えるくらいなら手軽だぞ
アセンブラはコードがいちいち長くなって書くのも読むのも非常に面倒なだけ

505 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 11:46:17 ]
今どきは構造体だのローカル変数だのも使えるアセンブラもあるからな。



506 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 12:00:30 ]
アセンブラでもwindowsのバージョンごとに
どのDLLがあるとか無いとかから開放されないようが気がする。

507 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:41:12 ]
またか・・・・・・・・w

508 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 22:56:41 ]
Cで書くかアセンブラで書くか・・・
pc12.2ch.net/test/read.cgi/tech/1096478651/
アセンブリ言語最強伝説
pc12.2ch.net/test/read.cgi/tech/1199952217/
Windowsってアセンブリで作られてる?
pc12.2ch.net/test/read.cgi/tech/1248434163/

509 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 22:57:03 ]
機械語なら俺に質問しろ!
pc12.2ch.net/test/read.cgi/tech/1035288252/

510 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 22:59:21 ]
堕落したCプログラマのレベル -10
レベル-10: むしろnasmとかみたいなちゃんとしたアセンブラを使ったほうが楽だったことに気付く。

d.hatena.ne.jp/w_o/20060808#p3

511 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 01:48:43 ]
ソートのプログラムを組んだのですが、コンパイルしようとすると
report5.c : 7 : error : syntax error before numeric constant
というエラーが出ます
どう修正したらいいのでしょう?

ソースは以下です
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10302.c


512 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 01:57:49 ]
>>511

> #define N 50
>
> void sort(int x[], int N)

#defineでシンボルNを定義しているので、2行後が

void sort(int x[], int 50)

と置換される。

513 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 02:27:34 ]
>>512
深夜にありがとうございます!
仮引数になっていないのが原因だったってことでしょうか?

Nを小文字のnに変えてもみたのですが、今度は
report5.c : In function `sort':
report5.c : 9 : error : 'x' redeclared as different kind of symbol
report5.c : 7 : error : previous definition of 'x' was here
と出てしまいました…

ググってみるとxが衝突してるとのことですが、関数部とデータ入出力部の両方でxを使用しても問題ないはずですよね?

514 名前:511 mailto:sage [2009/12/24(木) 02:39:11 ]
連投すみません!
自己解決しました

どうやら7行目と9行目の両方で変数xを定義していたのが問題だったようで…
>>512様ありがとうございました

515 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 12:57:05 ]
食ったー
満足じゃー



516 名前:デフォルトの名無しさん [2009/12/25(金) 10:34:07 ]
問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10305.txt
linuxで、g++でemacsで書いて、k-termでコンパイル。


すみません。今日締切の問題で、スレ違いかもしれないんですが、どうかスレ主さま、作ってください。

お願いします。

517 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 10:38:26 ]
宿題スレがあるのにスレ違いと分かっててなんで質問するんだ?あほ?
このスレの方が勢いがあるから?当然のようにageてるし

518 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 10:46:10 ]
pc12.2ch.net/test/read.cgi/tech/1260532772/442

酷いマルチ>>516のほうが後ってのが特に

519 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 10:54:38 ]
大抵宿題スレも見てるから、ここにマルチすると逆効果なんだけどね

520 名前:デフォルトの名無しさん [2009/12/25(金) 13:46:35 ]
>>517,518,519
すみません。すれ違いでした。でも本当に急いでいて・・

みなさん、無駄にスレ使ってしまってすみませんでした。

521 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 13:50:14 ]
>>520
逆効果なんだけど特別に許してあげるよ
感謝すればね

522 名前:デフォルトの名無しさん [2009/12/25(金) 14:11:41 ]
>>521
はい。

523 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 14:16:28 ]
書き込めば書き込むほど、答えが返ってくる確率が下がるんだがw

524 名前:デフォルトの名無しさん [2009/12/25(金) 17:01:15 ]
sprintfのところでエラーもでず勝手にPGが終了されるんだがなんだこれ?

525 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:03:53 ]
ソース見せてみ



526 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:07:18 ]
すみませんうつし先のバッファサイズが足りてなかったみたいデス
しかし何も出ず終了とは

527 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:07:36 ]
バッファ足りてないとか

528 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:08:36 ]
バッファ足りてないとか

529 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:08:37 ]
おぉリロード…

530 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:33:21 ]
>>528-529

この間1秒

531 名前:デフォルトの名無しさん [2009/12/25(金) 18:31:07 ]
PGが終了って、マ板ネタか?

532 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 18:32:10 ]
マは常に終了してるからな^^

533 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 18:42:41 ]
SEは終了してないとか

534 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 21:26:12 ]
defineってどういうときにつかうん?

535 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 21:29:04 ]
気持ちよくなりたいときに使う



536 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 21:58:05 ]
>>534
そりゃあプログラムを変更したい時に一か所一か所変更するのは面倒でしょ

537 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 22:06:15 ]
defineに限らず構造体の定義などもまとめてヘッダファイルに記述する。
あとで変更したくなったときに、ロジック側を弄らなくて済むようにしておく。
あとはデバッグスイッチとかの条件コンパイル用かな。

538 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 22:32:54 ]
多用するとタコ殴り

539 名前:466 mailto:sage [2009/12/25(金) 22:38:24 ]
MFCは、すごいマクロ使ってるね。あれはあれでありだとは思うが。

540 名前:デフォルトの名無しさん [2009/12/25(金) 23:19:37 ]
>>539
頼むから冗談はよしてくれ

541 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 00:08:47 ]
クリスマスにKFCでも食って気が上機嫌なんだろ

542 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 00:16:14 ]
気が上機嫌って何かおかしい気がしたけどよく考えたらそうでもない気がしないでもなかった

543 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 00:23:06 ]
いや、おかしい。気が狂ってると書こうとして
それはあんまりだと思って、上機嫌に変えた、つもりだったのです。

544 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 00:45:24 ]
>>537
defineも構造体定義も、ヘッダファイルに書く場合は複数のソースファイルに公開する必要がある場合。
ひとつのソースファイルだけで使用するなら、そのソースファイルで定義するのが基本。

545 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 01:37:05 ]
>>530
あたまわるいなぁ、とか言われなかったんだな



546 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 01:57:05 ]
>>539
MFCのマクロは、Cプリプロセッサの究極をいってるな。
いっちゃってるけど。

547 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 08:11:39 ]
誰かMFCのマクロを見せてくれ

548 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 17:30:50 ]
>>546
いやいや、究極と言えば、Boost.Preprocessorとかメタプログラミングの類。
こんな調子で、演算とかさせるんだぜ。頭がおかしいとしか思えない。
ttp://d.hatena.ne.jp/qnighy/20091107/1257587259

MFCなんてかわいいもんだ。

549 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 18:14:49 ]
Boost.Preprocessor はもう天才的。
プリプロセッサメタプログラミングだぜ?
本当にやりやがった・・・的な衝撃が走る。


550 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 18:32:21 ]
×天才的
○病的

551 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 18:34:03 ]
メタプロ見てるとなんかもう新しい使いやすい言語でもつくりゃいいのにって思う

552 名前:デフォルトの名無しさん [2009/12/26(土) 19:00:45 ]
思うね

553 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 19:11:58 ]
すいません。
feofというのは一体何の略なんでしょうか?

554 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 19:21:16 ]
File EOF だと思うよ
EOF は End Of File
細かいことはキニシナイ

555 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 19:21:43 ]
>>553
eof = End Of File
FILE *fp を取り扱う関数は、一般に fopen(), fclose(), fseek() のように頭に f がつくので、
f + End Of File = feof()
本当のところは知らないのですけど。



556 名前:553 mailto:sage [2009/12/26(土) 19:26:58 ]
feof end of file 略 でググってみましたらそれっぽいものが見つかりました。
ファイルポインタがEOFに達しているかどうかを調べるんだそうです
ttp://www.phpbook.jp/func/file/index3.html
ありがとうございました

557 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 19:36:57 ]
略称の語源じゃなくて用途を調べてたのかよw

558 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 22:59:09 ]
whileとSleepを使わずに
変数の値が変更されたときに自動で関数に飛ぶことって出来ないんですか?
atexit()みたいな感じに

559 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:00:00 ]
>>558
環境依存なのでOS等の情報が必要です

560 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:02:39 ]
atexitは自動じゃないよ

561 名前:デフォルトの名無しさん [2009/12/26(土) 23:09:56 ]
if ((flag & BIT1) && (flag & BIT2)) {
これをもう少しスマートにやる方法ないですか?

562 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:16:03 ]
コンパイラに最適化してもらいたい気分だ

563 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:22:17 ]
すいません。
codepad.org/3p4Q55et
本に書いてある内容を要約するとこんな感じになるんですが、

( !feof( stdin) )
というのは一体何を表しているのでしょうか。

stdinの中身がEOFにならなかったら〜という風に読めるのですが、
stdinとはcfPtrを指しているのでしょうか?
stdinでググると標準入力だというようなことが出てくるのですが、
標準にそのままキーボードから打たれたものがEOFになったら〜という意味でいいのでしょうか?

564 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:28:05 ]
>>563
戻り値

feof は,指定したストリーム上の最後の入力操作でファイル終了標識が
検出されると 0 以外の値を返し,ファイル終了標識に達しなければ 0 を返します。

とあるから、標準入力からWindowsならCTRL+Z、Unix系ならCtrl+Dが押される
と !演算子によって条件が反転し真になる

565 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:28:18 ]
>>561
ビットフィールドを使う



566 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:29:12 ]
>>563
そうだよ。
ソースに書いてある通り、ctrl-zでEOFが入力される。

567 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:29:46 ]
>>561
それぞれ1bitなら
if ((flag & (BIT1|BIT2)) == (BIT1|BIT2))

568 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:34:42 ]
>>564>>566
標準にキーボードから入力していてEOFが検出されなかった場合〜という意味ですね。
ありがとうございました。

569 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:37:40 ]
キーボードとはかぎらないしCtrl-Zともかぎらないがな

570 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:42:21 ]
>>569
すいませんどういう意味でしょうか?

571 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:46:41 ]
>>570
ファイルからリダイレクトとか。

572 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:46:47 ]
>>570
パイプやリダイレクトとか

573 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:47:47 ]
>>570
C言語にはストリームという概念がある。
ここに結び付けられるものは何でも良い。ファイルでも入出力デバイスでもC言語から見れば一緒。
ただ、一般的なPCではディスプレイ、キーボードが付いてるので"デフォルト(標準)"をそこにしてあるだけ。
標準入力がシリアル通信ポートだったり、標準出力がファイルだったりする環境もあるってこと。

574 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:53:40 ]
>>558
あきらめてアクセサメソッドを介して変数を参照するようにしてはいかがでしょうか。

575 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:54:09 ]
DOSやWindowsならCtrl+ZだがUNIX系ならCtrl+Dだったかな



576 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:58:10 ]
>>571->>573>>575
入力できればなんでもいいってことですか、ありがとうございました。

577 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 00:00:00 ]
何でもいいわけじゃない
何が割り当てられてるかだ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<137KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef